私はストアドプロシージャを変更する必要があり、WHERE句でどのように日がそれらの日付を操作するのか理解できません。特にEND = 1の場合。私は以前にそれを見たことがない。誰かがCASEステートメントを日付で翻訳する手助けができますか?
CASE WHEN @DateFrom IS NULL THEN 1 ELSE
CASE WHEN INV.InvoiceDate > INV.EffectiveDate THEN
CASE WHEN dateDiff(d, @DateFrom, INV.InvoiceDate) >= 0
AND dateDiff(d, @DateTo, INV.InvoiceDate) <= 0 Then 1 else 0 end
ELSE
CASE WHEN dateDiff(d, @DateFrom, INV.EffectiveDate) >= 0
AND dateDiff(d, @DateTo, INV.EffectiveDate) <= 0 Then 1 else 0 end
END
END = 1
それはあなたの 'CASE'を与える条件のちょうどシリーズだ欠けていると思う*表現*このすべての後に1または0の値は、全体' CASE。 .... END'は0または1のいずれかを返すので、 'CASE'式が1の行だけが必要だと言っています。 – Lamak