當嘗試根據是否傳遞某個值返回適當的結果時,我遇到了使用CASE時遇到的問題。在SQL Server 2008中使用CASE
例如我想運行一個查詢,如果郊區傳遞
WHEN @suburb <> '' THEN
@suburb
END
= [Suburb]
AND
[City] = @city
但是怎麼辦,這樣,當沒有郊區傳遞它僅使用這個城市我只運行查詢?
我應該寫下如下的查詢嗎?
WHERE
(
[Suburb] = @suburb
AND
[City] = @city
)
OR
(
[City] = @city
)
我絕對不會寫在第二種形式。 – 2012-02-21 21:42:55
@Aaron Bertrand - 爲什麼不推薦在第二個寫? – PeanutsMonkey 2012-02-21 22:26:26
因爲爲什麼重複兩次「城市= @城市」條款? – 2012-02-21 22:35:35