在SQL中仅选择列为空的整行

时间:2015-12-03 05:50:57

标签: sql sql-server-2014

如果我有以下示例表,是否有任何方法我只保留"关闭日期"列是空的?在此示例中,仅第二行具有空的"关闭日期"专栏,第三和第四不是。 enter image description here

Unique Key,Created Date,Month,Closed Date,Latitude,Longitude
32098276,12/1/2015 0:35,12,,40.78529363,-73.96933478,"(40.78529363449518, -73.96933477605721)"
32096105,11/30/2015 20:09,11,11/30/2015 20:09,40.62615508,-73.9606431,"(40.626155084398036, -73.96064310416676)"
32098405,11/30/2015 20:08,11,11/30/2015 20:08,40.6236074,-73.95914964,"(40.62360739765128, -73.95914964173129)"

我发现了这一点,但这并不是我想要的。任何古茹都可以开导吗?谢谢!

return empty row based on condition in sql server

  • 抱歉忘记提及我使用SQL Server 2014.

4 个答案:

答案 0 :(得分:2)

您可以在IS NULL子句中使用WHERE条件:

SELECT *
FROM your_table
WHERE "Closed Date" IS NULL

答案 1 :(得分:2)

SELECT *
FROM your_table
WHERE [Closed Date] IS NULL OR LTRIM(RTRIM([Closed Date])) = ''

答案 2 :(得分:1)

您可以使用IS NULL过滤掉包含NULL值的记录:

SELECT *
FROM your_table
WHERE "Closed Date" IS NULL

请记住,带空格的列标识符是不好的做法。您应该使用类似Closed_Date的内容来避免引用。

答案 3 :(得分:0)

SQL Server包含空字符串('')

的另一种方法
-->> SQL Server
SELECT * FROM your_table
WHERE [Closed Date] IS NULL OR [Closed Date] = ''

SELECT *
FROM your_table
WHERE ISNULL([Closed Date],'') = ''