MySQL NULLIF() 函数使用指南

MySQL NULLIF() 函数根据两个参数是否相等决定返回 NULL 还是第一个参数。

NULLIF() 语法

这里是 MySQL NULLIF() 函数的语法:

NULLIF(expr1, expr2)

参数

expr1
必需的。一个值或者表达式。
expr2
必需的。另一个值或者表达式。

返回值

如果 expr1 = expr2NULLIF() 函数返回 NULL,否则返回 expr1

NULLIF() 示例

简单示例

SELECT
    NULLIF(1, 1),
    NULLIF(1, 2);
+--------------+--------------+
| NULLIF(1, 1) | NULLIF(1, 2) |
+--------------+--------------+
|         NULL |            1 |
+--------------+--------------+

NULLIF() 相当于 CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END。如下:

SELECT
    CASE WHEN 1 = 1 THEN NULL ELSE 1 END,
    CASE WHEN 1 = 2 THEN NULL ELSE 1 END;
+--------------------------------------+--------------------------------------+
| CASE WHEN 1 = 1 THEN NULL ELSE 1 END | CASE WHEN 1 = 2 THEN NULL ELSE 1 END |
+--------------------------------------+--------------------------------------+
|                                 NULL |                                    1 |
+--------------------------------------+--------------------------------------+