SQL Server查询检查多个列的空字段

时间:2014-05-19 10:42:35

标签: sql sql-server ssms

我需要构造一个返回具有特定空字段的行的查询。

例如,我有300条包含Name, Address and City的记录。一旦一个或多个字段为空,则需要返回。例如,如果我有一个空City行和一个空address行,则需要返回两者。构建此查询的最佳方法是什么?

我需要这样做的原因是我想构建一个显示不完整记录的仪表板,以便可以添加此信息。

3 个答案:

答案 0 :(得分:2)

SELECT *
FROM TABLE 
WHERE Name IS NULL OR Name = ''
OR City IS NULL OR City = ''
OR [Address] IS NULL OR [Address] = ''

答案 1 :(得分:0)

SELECT Name
   ,City
   ,Address
   ,...
FROM TABLE 
WHERE NULLIF(Name,'') IS NULL
OR NULLIF(City,'') IS NULL
OR NULLIF([Address],'') IS NULL

答案 2 :(得分:0)

我们有IS NULL ORNULLIF,所以我接受了COALESCE

SELECT Name
     , City
     , Address
     , ...
FROM   TABLE 
WHERE  COALESCE(Name,'') = ''
   OR  COALESCE(City,'') = ''
   OR  COALESCE([Address],'') = ''