有沒有辦法按照以下方式使用變量?在T-Sql中的條件中使用空變量
DECLARE @ID int;
SET @ID = NULL;
SELECT *
FROM Market market
WHERE market.ID IS @ID
還有另一種方法可以做到這一點嗎?
謝謝。
有沒有辦法按照以下方式使用變量?在T-Sql中的條件中使用空變量
DECLARE @ID int;
SET @ID = NULL;
SELECT *
FROM Market market
WHERE market.ID IS @ID
還有另一種方法可以做到這一點嗎?
謝謝。
你需要做的
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
是否有您要堅持爲空的變量,而不是僅僅做一個特殊的原因:
SELECT *
FROM Market market
WHERE market.ID IS NULL
如果你只是想確定是否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
謝謝,我試圖類似於第一個答案,但沒有@ID IS NULL,我得到了兩個值(當有一個int值和它的空值)。 – triangulito