2
where文節内にcase文を記述しようとしています。以下は私の質問です。私は平日に基づいてクエリを実行したい。基本的に月曜日の場合は、datecreated = getdate() - 3 の火曜日の場合、getdate() - 3とgetdate() - 1の範囲内で日付を設定する必要があります。 wed-fridayならばdatecreated = getdate() - 1case文where句内の曜日によって異なります。
SELECT Count(dispute_reference_no)AS reg_inc
FROM mytable
WHERE reasoncd IN ('b2', 'b3')
AND datecreated = (
CASE
WHEN Datename(weekday,Getdate()) = 'Monday' THEN dbo.Fn_getdateonly(Getdate()-3))
WHEN datename(weekday,getdate()) = 'tuesday' THEN (dbo.fn_getdateonly(getdate()-3)
AND dbo.fn_getdateonly(getdate()))
ELSE dbo.fn_getdateonly(getdate()-1)
END)
上記のコードは機能しません。 case文の中に範囲を追加することはできません。
あなたが望むものを知っていることは非常に難しいが、あなたの括弧がオンになっています間違った場所 –
'CASE'を使う正しい方法は' CASE いつ... いつ... END 'あなたのENDは' Case'に関連していません – demo
エラーを忘れました。あなたは 'レンジを作る必要があるのですか?'あなたは 'CASE'で範囲を作成し、単一の値である –