SQL Server 2008の - ブール変数の変更クエリ
-
12-09-2019 - |
質問
私は、次のクエリを持っています:
DECLARE @IsStocked bit
SELECT * FROM Products p WHERE p.LastSeen > GETDATE() - 30
これは、過去30日以内に見られているすべてのの製品を返します。
私の質問は、私はのみ適用されますp.LastSeen > GETDATE() - 30
に@IsStocked = true
句をしたいと思い、である。
これは、より大きなクエリの一部であり、そしてIはIF / ELSE文を使用せずにこれを達成したい(すなわち句は完全に無視されている場合の@IsStocked = false
部をp.LastSeen > GETDATE() - 30
場合)。
ありがとうございます。
解決
DECLARE @IsStocked bit
SELECT * FROM Products p
WHERE @IsStocked = 0 OR (p.LastSeen > GETDATE() - 30);
他のヒント
DECLARE @IsStocked bit;
SELECT *
FROM Products p
WHERE (@IsStocked = 1 AND p.LastSeen > GETDATE() - 30)
OR @IsStocked = 0;
ここに私のクエリは、あなたの質問に応じている。
DECLARE @IsStocked bit
Set @IsStocked=1
Select * from Product
Where LastSeen = Case When (@IsStocked=1) THEN GETDATE() - 30
Else LastSeen END
役立つことを願っています。
所属していません StackOverflow