MySQL NULLIF 运算符是一个控制流函数,它接受两个参数。如果参数 1 等于参数 2,则返回 NULL。否则,返回参数 1。此 NULLIF 的语法如下:
SELECT NULLIF(exp1, exp2)
此 NULLIF 函数在 exp1 = exp2 时返回 NULL。否则,它返回表达式 1 的值。
MySQL NULLIF 运算符示例
在此示例中,我们向您展示了简单的 NULLIF 运算符示例。这里,第一个语句返回 NULL,因为 10 = 10 为真。第二个语句返回 10,因为 10 != 100。在最后一个语句中,我们将 NULL 用作参数值。这里,Null != 10 表示返回第一个参数值。
SELECT NULLIF(10, 10);
SELECT NULLIF(10, 100);
SELECT NULLIF(NULL, 100), NULLIF(10, NULL);

NULLIF 示例 2
我们正在使用此 Customers 表来演示 NULLIF 运算符。下面的截图显示了此 MySQL 表中的数据。

在此示例中,我们使用 MySQL NULLIF 运算符将 Occupation 列的值与 Management 进行比较。这意味着,如果员工的职业是 Management,它将返回 NULL。否则,将返回 Occupation 列的值。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
NULLIF(Occupation, 'Management') AS Result,
Income,
Sales,
HireDate
FROM customer;

这次,我们将 NULLIF 运算符用于 Occupation 列和 Income。如果职业是 clerical,将返回 NULL。接下来,如果 Income 是 80000,则返回 NULL 作为 income 值。
SELECT EmpID,
`First Name`,
`Last Name`,
Occupation,
NULLIF(Occupation, 'Clerical') AS OResult,
Income,
NULLIF(Income, 80000) AS IResult,
Sales,
HireDate
FROM customer;
