我從包含名爲[tagged]的列中選擇記錄,並且它默認爲零。
我的問題是當@tagged
變量是NULL
,那麼我想同時選擇0,1值。這讓我覺得我應該做一個IF/ELSE
,但我的嘗試失敗了。IF/Else/CASE語句在WHERE子句中
---簡單的例子:
declare @tagged int = NULL
SELECT *
FROM [TableName]
WHERE datecreated > '2016-01-01'
AND tagged = @tagged
許多DBA都推薦的CASE子句。 但我需要幫助知道在哪裏添加它。
是否將它添加到查詢中?
我愚蠢的嘗試是這樣的:
SELECT *
FROM [TableName]
WHERE datecreated > '2016-01-01'
AND (
CASE @tagged
WHEN 0 THEN (tagged = 0)
WHEN 1 THEN (tagged = 1)
ELSE (tagged IN(0,1)
END
)
甲'CASE'可以在'JOIN'被用作示出[這裏](http://stackoverflow.com/a/10260297/92546)。一個'WHERE'子句可以使用相同的模式。 – HABO