2011-10-03 35 views
0

如果沒有,是否有一種替代方法可以通過使用CASE或IF/THEN標識符來切換SELECT語句而不是先將語句放入標量變量中?是否有替代使用Where = Null的空位?

有沒有一種方法來格式化,而不使用IS和使用=符號來工作?

SELECT ID FROM TABLE WHERE ID = Null 
+1

當你需要檢查NULL時,IS NULL或IS NOT NULL是**唯一有效的**途徑 –

+1

你的問題不清楚。請提供更多信息。 –

+0

這是一個有點抽象,模式和一些數據,與所需的輸出,將有所幫助。 – RedFilter

回答

5

不,NULL不是值。將NULL視爲條件,IS NULLIS NOT NULL正在測試此情況。

在這個例子中,你可以測試實際值,或缺乏價值通過的一個條件表示

WHERE 
    (X IS NULL OR X = @X) 

OR

WHERE 
    (@X IS NULL OR X = @X) 

或測試您一定條件第一:

WHERE 
    CASE X 
     WHEN 1 THEN 
     WHEN 2 THEN 
     ELSE -- includes NULL 
    END = ... 

你的問題很抽象,所以很難給出更準確的答案。

例如,你有NOT IN和NULL的問題嗎?如果是這樣,請使用NOT EXISTS。

+0

這工作爲我需要它..謝謝。 –