sql判断NULL值:IF()、IFNULL()、NULLIF()、ISNULL()函数的区别使用
-
IF()函数
IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。
SELECT IF(TRUE,'1','0'); -- 1
SELECT IF(FALSE,'1','0'); -- 0
-
IFNULL()函数
IFNULL(expr1,expr2),如果expr1的值为NULL,则返回expr2的值,如果expr1的值不为NULL,则返回expr1的值。
SELECT IFNULL(NULL,'0'); -- 0
SELECT IFNULL('123','0'); -- 123
-
NULLIF()函数
NULLIF(expr1,expr2),如果expr1=expr2成立,那么返回值为NULL,否则返回值为expr1的值。
SELECT NULLIF('1','1'); -- null
SELECT NULLIF('1','2'); -- 1
-
ISNULL()函数
ISNULL(expr),如果expr的值为NULL,则返回1,如果expr1的值不为NULL,则返回0。
SELECT ISNULL(NULL); -- 输出结果:1
SELECT ISNULL('1'); -- 输出结果:0