MariaDB NULLIF() 函数使用指南

在 MariaDB 中,NULLIF()是一个内置函数,如果两个给定的参数相等,它返回 NULL,否则,它将返回第一个参数。

MariaDB NULLIF() 语法

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

NULLIF(expr1, expr2)

NULLIF() 可以使用 CASE 表达式实现。 NULLIF(expr1, expr2) 等价于 CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END

参数

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

如果您提供了错误数量的参数,MariaDB 将报告一个错误: ERROR 1582 (42000): Incorrect parameter count in the call to native function 'NULLIF'

返回值

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

MariaDB NULLIF() 示例

SELECT
    NULLIF(1, 1),
    NULLIF(1, 2);

输出:

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

下面的语句使用 CASE 表达式实现:

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 |
+--------------------------------------+--------------------------------------+

结论

在 MariaDB 中,NULLIF()是一个内置函数,如果两个给定的参数相等,它返回 NULL,否则,它将返回第一个参数。