SQLite nullif() 函数使用指南

SQLite nullif() 函数根据两个参数是否相等决定返回 NULL 还是第一个参数。如果两个参数相同,返回 NULL,否则返回第一个参数。

nullif() 语法

这里是 SQLite nullif() 函数的语法:

nullif(expr1, expr2)

参数

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

返回值

如果两个参数相同,即 expr1 = expr2, SQLite nullif() 函数返回 NULL,否则返回 expr1

nullif() 示例

这个示例说明了 SQLite ifnull() 函数的基本用法:

SELECT
    nullif(1, 1),
    nullif(1, 2);
nullif(1, 1) =
nullif(1, 2) = 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 = 1