MySQL中IFNULL和NULLIF函数的区别

一、IFNULL(exp1, exp2)

简单的按照字面意思来记忆:如果exp1为null的话则使用exp2的值。可以把exp2理解为默认值的意思。

示例:

mysql> select IFNULL(null,1);
+----------------+
| IFNULL(null,1) |
+----------------+
|              1 |
+----------------+
1 row in set (0.07 sec)
mysql> select IFNULL(999,1);
+---------------+
| IFNULL(999,1) |
+---------------+
|           999 |
+---------------+
1 row in set (0.08 sec)

二、NULLIF(exp1, exp2)

还是按照字面意思来理解记忆:如果exp1等于exp2的话,则该值为null,否则则为exp1的值。

示例:

mysql> select NULLIF(1,1);
+-------------+
| NULLIF(1,1) |
+-------------+
| NULL        |
+-------------+
1 row in set (0.07 sec)
mysql> select NULLIF(1,2);
+-------------+
| NULLIF(1,2) |
+-------------+
|           1 |
+-------------+
1 row in set (0.07 sec)

觉得内容还不错?打赏个钢镚鼓励鼓励!!👍