MySQL 中的 NULLIF(expr1, expr2) 函数用来计算 expr1 是否等于 expr2。如果 expr1 = expr2 为真,则返回 NULL,否则返回 expr1。这与 CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END 相同。 返回值与第一个参数具有相同的类型。
NULLIF(expr1,expr2)expr1 比较的参数1
expr2 比较的参数2
(1)NULLIF 函数简单使用,如下:
mysql> select NULLIF(1,1);
+-------------+
| NULLIF(1,1) |
+-------------+
| NULL |
+-------------+
1 row in set (0.04 sec)
mysql> select NULLIF(1,2);
+-------------+
| NULLIF(1,2) |
+-------------+
| 1 |
+-------------+
1 row in set (0.04 sec)由运行结果可知,NULLIF 的 expr1 和 expr2 均为 1,则返回 NULL。expr1 等于1,expr2 等于2,则返回 1。