我正在创建一个每月运行两次的查询:
每月 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()))
每月 20 日查看同月 1-15 日的计费日。
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
治愈我的无知。