IS NULL (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

确定指定的表达式是否为 NULL。

Transact-SQL 语法约定

语法

expression IS [ NOT ] NULL  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

expression
为任意有效的表达式

NOT
指定 Boolean 结果取反。 谓词将对其返回值取反,值不为 NULL 时返回 TRUE,值为 NULL 时返回 FALSE。

结果类型

布尔值

返回代码值

如果 expression 的值为 NULL,则 IS NULL 返回 TRUE;否则,返回 FALSE

如果 expression 的值为 NULL,则 IS NOT NULL 返回 FALSE;否则,返回 TRUE

备注

若要确定表达式是否为 NULL,请使用 IS NULL 或 IS NOT NULL,而不要使用比较运算符(如 = 或 !=)。 如果有一个参数为 NULL 或两个参数都为 NULL,比较运算符将返回 UNKNOWN。

示例

以下示例将返回其重量小于 10 磅或颜色为未知(即 NULL)的所有产品的名称和重量。

USE AdventureWorks2022;  
GO  
SELECT Name, Weight, Color  
FROM Production.Product  
WHERE Weight < 10.00 OR Color IS NULL  
ORDER BY Name;  
GO  

示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

以下示例返回具有中间名的所有员工的全名。

-- Uses AdventureWorks  
  
SELECT FirstName, LastName, MiddleName  
FROM DIMEmployee  
WHERE MiddleName IS NOT NULL  
ORDER BY LastName DESC;  

另请参阅

CASE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
CREATE TABLE (Transact-SQL)
数据类型 (Transact-SQL)
表达式(Transact-SQL)
INSERT (Transact-SQL)
LIKE (Transact-SQL)
运算符 (Transact-SQL)
逻辑运算符 (Transact-SQL)
SELECT (Transact-SQL)
sp_help (Transact-SQL)
UPDATE (Transact-SQL)
WHERE (Transact-SQL)