2014-12-29 128 views

回答

4

因爲NULL <> NULL

case statement你比較NULL = NULL它沒有這樣NOT NULL得到了選擇。

嘗試改變你Case statement像這樣。

SELECT CASE 
     WHEN @X IS NULL THEN 'NULL' 
     ELSE 'NOT NULL' 
     END 
+0

但是我不能說'什麼時候是空的',因爲這不起作用:「關鍵字'IS'附近的語法不正確」。 –

+0

@Phillip這不是正確的語法在'案件'等同。檢查我的答案 –

+0

哦,謝謝。我可以在9分鐘內接受你的答案。 –

0

使用

SET ANSI_NULLS OFF 

查詢之前。默認情況下,SQL Server不支持與空等同表達

默認情況下它帶有

SET ANSI_NULLS ON 

而ANSI_NULLS是你不能使用NULL = NULL檢查,而不是「IS NULL」已被使用

相關問題