SQL Server 函数

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

语法

NULLIF(expr1, expr2) 

参数

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

返回值

如果expr1和 expr2 相等则返回NULL。否则,返回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 

示例 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