2014-05-19 66 views
0

我需要構造一個查詢,該查詢返回具有特定空字段的行。SQL Server查詢檢查多個列的空字段

例如,我有300條包含Name, Address and City的記錄。一旦一個或多個字段爲空,則需要返回。如果我例如有一行有空的City和一行有空address,都需要返回。什麼是構建這個查詢的最好方法?

我需要這個的原因是,我想構建一個顯示不完整記錄的儀表板,以便可以添加此信息。

+0

那你又試了呢?一些代碼? –

+0

當你說空字段時,你的意思是空值或空字符串值''? –

回答

2
SELECT * 
FROM TABLE 
WHERE Name IS NULL OR Name = '' 
OR City IS NULL OR City = '' 
OR [Address] IS NULL OR [Address] = '' 
0
SELECT Name 
    ,City 
    ,Address 
    ,... 
FROM TABLE 
WHERE NULLIF(Name,'') IS NULL 
OR NULLIF(City,'') IS NULL 
OR NULLIF([Address],'') IS NULL 
+1

它可能看起來有點涼爽的方式寫這個簡單的查詢,但考慮sargability不那麼酷,然後:) –

+0

「300條記錄」:) –

+0

但是,只是爲了很酷的因素:) –

0

好了,我們的IS NULL ORNULLIF,所以我採取COALESCE

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