SQLite 函数

SQLite NULLIF() 函数比较两个表达式,如果相等则返回 NULL。否则,它返回第一个表达式。

NULLIF() 函数从左到右搜索其参数,以查找定义整理函数的参数,并对所有字符串使用该整理函数比较。如果 NULLIF() 的两个参数均未定义整理函数,则使用 BINARY 整理函数。

语法

NULLIF(expr1, expr2) 

参数

expr1, expr2必填。 指定要比较的两个表达式。

返回值

如果expr1则返回NULL和 expr2 相等。否则,返回expr1。

示例1:

下面的示例显示NULLIF()函数的用法。

SELECT NULLIF('John', 'John');
Result: NULL

SELECT NULLIF('John', 'John_2005');
Result: 'John'

SELECT NULLIF(123, 456);
Result: 123

SELECT NULLIF(123, 123);
Result: NULL

SELECT NULLIF(NULL, NULL);
Result: NULL 

示例 2:

考虑一个名为 Employee 的数据库表,其中包含以下记录:

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis272800
4KimAmsterdam303100
5RameshNew Delhi283000
6HuangBeijing282800

在下面的查询中, NULLIF() 函数用于对照"Paris"检查City 列记录。这意味着如果员工城市是Paris,则返回NULL。否则,它返回列值。

SELECT *, NULLIF(City, 'Paris') AS Result 
FROM Employee; 

这将产生如下所示的结果:

EmpIDNameCityAgeSalaryResult
1JohnLondon253000London
2MarryNew York242750New York
3JoParis272800NULL
4KimAmsterdam303100Amsterdam
5RameshNew Delhi283000New Delhi
6HuangBeijing282800Beijing