2011-11-02 96 views
0

当执行以下查询时,它将返回null。SQL Server空值问题

说明:经度是varchar列,许多行在那里有longitude = null,但是这个查询没有返回任何东西。

我的事情我错过了一分钟的事情。

select * from fb_event where longitude =null 
+0

这不是一个SQL Server问题 - 需要读入一个简介到SQL,XXXcoder。三元逻辑在所有SQL实现中都是相同的,这是有原因的。 – TomTom

回答

4

您的where子句应为where longitude is null

空不等于空,因此您必须使用“is”而不是“=”。

+1

+1 NULL实际上不是一个值 - 它是值**的缺失** - 因此您不能使用常规值比较 –

+1

更确切地说,因为NULL是未知的,所以比较一个未知与另一个未知是否为真 - NULL != NULL。 NULL也会破坏值。带有一个NULL项的SUM也是NULL(未知)。 – TomTom

+1

谢谢@marc_s –