月に2回実行されるクエリを作成しています。
請求日を見る月の5日16-前月の最終日。
datepart(dd,h.BILLED_DATE) > 15 DATEPART(mm, h.billed_date) = DATEPART(mm,dateadd(m,-1,getdate())) and DATEPART(yyyy, h.billed_date) = DATEPART(yyyy,dateadd(m,-1,getdate()))
同じ月の1〜15の請求日を見ている月の20日。
datepart(dd,h.BILLED_DATE) >= 1 and datepart(dd,h.BILLED_DATE) < 16 and DATEPART(mm, h.BILLED_DATE) = DATEPART(mm,GETDATE()) and DATEPART(yyyy, h.BILLED_DATE) = DATEPART(yyyy,GETDATE()))
これらはwhere句で独立して機能します。ただし、where句のcaseステートメントでそれらを組み合わせようとすると、「then」の後の最初の不等式から始めて、エラーが大量に発生します。
Where
Case
when datepart(dd,getdate()) > 15
then [2 above]
else [1 above]
End
私の無知を治してください。