SQL Server 运算符

没有值的字段称为具有 NULL 值的字段。要测试字段的非 NULL 值,请使用 SQL Server (Transact-SQL) IS NOT NULL 运算符。如果找到非 NULL 值,则返回 TRUE,否则返回 FALSE。

语法

给出了在 SQL Server (Transact-SQL) 中使用 IS NOT NULL 运算符的语法下面:

SELECT column1, column2, column3, ...
FROM table_name
WHERE column_name IS NOT NULL; 

示例:

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

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis2800
4KimAmsterdam3100
5RameshNew Delhi283000
6HuangBeijing282800

要选择Employee表中Age为空的所有记录,查询如下。

SELECT * FROM Employee
WHERE Age IS NULL; 

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

EmpIDNameCityAgeSalary
3JoParis2800
4KimAmsterdam3100

获取Employee表的所有记录其中Age不为空,查询如下:

SELECT * FROM Employee
WHERE Age IS NOT NULL; 

这将产生以下结果:

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
5RameshNew Delhi283000
6HuangBeijing282800

要删除Employee表中Age为空的所有记录,可以使用以下查询:

DELETE FROM Employee
WHERE Age IS NULL;

-- 查看结果
SELECT * FROM Employee; 

这将产生以下结果:

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
5RameshNew Delhi283000
6HuangBeijing282800