0
我试图让一个报告只显示记录,其中发票日期是前一天,除非今天是星期一,在这种情况下,如果发票日期是星期五,它会拉。在哪里条款陈述的案例声明
正如标题暗示我试图完成这个是我的where子句中的一个case语句。
WHERE
(case when datepart(dw,GETDATE()) <> 2
then (INVOICE >= dateadd(day,datediff(day,1,GETDATE()),0))
else INVOICE >= dateadd(day,datediff(day,3,GETDATE()),0) end)
and (case when datepart(dw,GETDATE()) <> 2
then (INVOICE < dateadd(day,datediff(day,0,GETDATE()),0))
else INVOICE <dateadd(day,datediff(day,2,GETDATE()),0) end)
正如你可能从上面的代码告诉,我是一个完整的noob当涉及到SQL查询,这是充满了语法错误。上面需要纠正什么才能使其发挥作用?或者我看着这完全错误?
谢谢你的知识,戈登!我在这里得到了一个语法错误,''cast'附近的语法错误',预期为'AS'。' – aLearningLady
将'cast(dateadd(day,-1,getdate()))'更改为'cast(dateadd(day, -1,getdate())作为日期)'和'cast(dateadd(day,-3,getdate()))'''cast(dateadd(day,-3,getdate())as date)'@aLearningLady – scsimon