MySQL NULLIF 运算符

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 Operator Example 1

NULLIF 示例 2

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

Customer Table

在此示例中,我们使用 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 Example 3

这次,我们将 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;
NULLIF Operator 4