mysql中isnull,ifnull,nullif的用法

发布网友 发布时间:2024-10-23 17:51

我来回答

1个回答

热心网友 时间:2024-11-03 01:18

在MySQL中,isnull、ifnull和nullif是处理NULL值的函数。isnull(expr)函数用于判断expr是否为NULL,如果expr为NULL,则返回1,否则返回0。

使用示例:在SQL命令中,执行isnull(1+1)会返回0,而isnull(1/0)会返回1。

等同于NULL的值比较通常被认为是错误的。isnull()函数与is null比较操作符具有相似的特性。

ifnull(expr1,expr2)函数的作用是如果expr1不为NULL,则返回expr1,否则返回expr2。返回值类型取决于使用场景,可能是数字或字符串。

例如:SELECT IFNULL(1,0)返回1,SELECT IFNULL(NULL,10)返回10。

IFNULL()默认返回值是两个表达式中更通用的一个,优先级为STRING、REAL或INTEGER。

在基于表达式的表创建中,使用IFNULL():CREATE TABLE tmp SELECT IFNULL(1,'test') AS test; 表中test列的类型为CHAR(4)。

nullif(expr1,expr2)函数,当expr1等于expr2时返回NULL,否则返回expr1。与CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END表达式相同。

示例:执行NULLIF(1,1)会返回NULL,而执行NULLIF(1,2)返回1。

若expr1和expr2不相等,则MySQL计算两次expr1的值。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com