[タグ付き]という列を持つレコードを選択していますが、デフォルトではゼロに設定されています。
@tagged
変数がNULL
の場合は、両方とも0,1の値を選択したい場合があります。これは私がIF/ELSE
をやっていなければならないと思うが、私の試みは失敗している。WHERE句のIF/Else/CASEステートメント
---簡単な例:
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'に使用することができる(
tagged
カラムにはNULL
値がない考慮して)、次いでCASE
を使用してそれを解決しようとしていますここに](http://stackoverflow.com/a/10260297/92546)。 'WHERE'節は同じパターンを使用できます。 – HABO