如何区分 MySQL IFNULL() 和 NULLIF() 函数?


实际上,MySQL IFNULL() 和 NULLIF() 函数的语法几乎相同,如下所示 -

IFNULL() 的语法

IFNULL(expression1, expression2)

NULLIF() 的语法

NULLIF(expression1, expression2)

它们的区别在于返回第一个参数作为结果的方式。IFNULL() 函数将在第一个参数不为 NULL 时将其作为结果返回,NULLIF() 函数将在两个参数不相同时将其作为结果返回。

mysql> Select IFNULL('Ram','Shyam');
+-----------------------+
| IFNULL('Ram','Shyam') |
+-----------------------+
| Ram                   |
+-----------------------+
1 row in set (0.00 sec)

mysql> Select NULLIF('Ram','Shyam');
+-----------------------+
| NULLIF('Ram','Shyam') |
+-----------------------+
| Ram                   |
+-----------------------+
1 row in set (0.00 sec)

从这两个函数的结果集中可以看出,它们看起来很相似,但 IFNULL() 函数返回 ‘Ram’ 因为它具有第一个参数,而且不为 NULL。另一方面,NULLIF() 函数返回 ‘Ram’,因为它具有第一个参数,并且不同于第二个参数。

更新时间:20-6 月-2020

2K+ 次浏览

开启你的事业

完成课程,获得证书

开始
广告