2011-08-17 37 views

回答

12

你需要做的

SELECT * 
FROM Market market 
WHERE market.ID = @ID OR (@ID IS NULL AND market.ID IS NULL) 

只爲此刻仍然可以完整做

SET ANSI_NULLS OFF 

SELECT * 
FROM Market market 
WHERE market.ID = @ID 

,但你不應該。此選項已棄用。 Quite an interesting related blog post

+0

謝謝,我試圖類似於第一個答案,但沒有@ID IS NULL,我得到了兩個值(當有一個int值和它的空值)。 – triangulito

2

是否有您要堅持爲空的變量,而不是僅僅做一個特殊的原因:

SELECT * 
FROM Market market 
WHERE market.ID IS NULL 
0

如果你只是想確定是否market.ID爲空,你可以這樣做

SELECT * 
FROM Market market 
WHERE market.ID IS NULL 

如果您正在測試,看看是否market.ID爲空或和其它一些價值試試這個

SELECT * 
FROM Market market 
WHERE market.ID IS NULL 
    OR market.ID = @ID