我需要構造一個查詢,該查詢返回具有特定空字段的行。SQL Server查詢檢查多個列的空字段
例如,我有300條包含Name, Address and City
的記錄。一旦一個或多個字段爲空,則需要返回。如果我例如有一行有空的City
和一行有空address
,都需要返回。什麼是構建這個查詢的最好方法?
我需要這個的原因是,我想構建一個顯示不完整記錄的儀表板,以便可以添加此信息。
我需要構造一個查詢,該查詢返回具有特定空字段的行。SQL Server查詢檢查多個列的空字段
例如,我有300條包含Name, Address and City
的記錄。一旦一個或多個字段爲空,則需要返回。如果我例如有一行有空的City
和一行有空address
,都需要返回。什麼是構建這個查詢的最好方法?
我需要這個的原因是,我想構建一個顯示不完整記錄的儀表板,以便可以添加此信息。
SELECT *
FROM TABLE
WHERE Name IS NULL OR Name = ''
OR City IS NULL OR City = ''
OR [Address] IS NULL OR [Address] = ''
SELECT Name
,City
,Address
,...
FROM TABLE
WHERE NULLIF(Name,'') IS NULL
OR NULLIF(City,'') IS NULL
OR NULLIF([Address],'') IS NULL
它可能看起來有點涼爽的方式寫這個簡單的查詢,但考慮sargability不那麼酷,然後:) –
「300條記錄」:) –
但是,只是爲了很酷的因素:) –
好了,我們的IS NULL OR
和NULLIF
,所以我採取COALESCE
SELECT Name
, City
, Address
, ...
FROM TABLE
WHERE COALESCE(Name,'') = ''
OR COALESCE(City,'') = ''
OR COALESCE([Address],'') = ''
那你又試了呢?一些代碼? –
當你說空字段時,你的意思是空值或空字符串值''? –