MySql中的IFNULL、NULLIF和ISNULL用法

一、IFNULL的表达式如下:

IFNULL(expr1,expr2)

功能描述:如果expr1为null, 则函数返回expr2,否则将返回expr1。

举例1:

SELECT IFNULL(0,'ab');

MySql中的IFNULL、NULLIF和ISNULL用法

第一个参数是0,不是NULL,所以结果是0.

举例2:

SELECT IFNULL(NULL,'ab');

MySql中的IFNULL、NULLIF和ISNULL用法

第一个参数是NULL,所以结果是ab。

 

二、NULLIF的表达式如下:

SELECT NULLIF(expr1,expr2)

功能描述:如果两个参数相等,则返回NULL ;否则,返回第一个参数。

举例1:

SELECT NULLIF('a','b');

MySql中的IFNULL、NULLIF和ISNULL用法

两个参数不相等,所以结果是第一个参数a。

举例2:

SELECT NULLIF('a','a');

MySql中的IFNULL、NULLIF和ISNULL用法

两个参数相等,所以结果是NULL。

 

三、ISNULL的表达式如下:

SELECT ISNULL(expr)

功能描述:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。

举例1:

SELECT ISNULL(NULL);

MySql中的IFNULL、NULLIF和ISNULL用法

参数是NULL,所以结果是1。

举例2:

SELECT ISNULL('ab');

MySql中的IFNULL、NULLIF和ISNULL用法

 

 参数不是NULL,所以结果是0。

上一篇:sql高级语法之IF、IFNULL


下一篇:mysql8之json类型使用