当执行以下查询时,它将返回null。SQL Server空值问题
说明:经度是varchar
列,许多行在那里有longitude = null,但是这个查询没有返回任何东西。
我的事情我错过了一分钟的事情。
select * from fb_event where longitude =null
当执行以下查询时,它将返回null。SQL Server空值问题
说明:经度是varchar
列,许多行在那里有longitude = null,但是这个查询没有返回任何东西。
我的事情我错过了一分钟的事情。
select * from fb_event where longitude =null
您的where子句应为where longitude is null
。
空不等于空,因此您必须使用“is”而不是“=”。
+1 NULL实际上不是一个值 - 它是值**的缺失** - 因此您不能使用常规值比较 –
更确切地说,因为NULL是未知的,所以比较一个未知与另一个未知是否为真 - NULL != NULL。 NULL也会破坏值。带有一个NULL项的SUM也是NULL(未知)。 – TomTom
谢谢@marc_s –
这不是一个SQL Server问题 - 需要读入一个简介到SQL,XXXcoder。三元逻辑在所有SQL实现中都是相同的,这是有原因的。 – TomTom