一、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)