當執行以下查詢時,它將返回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