这是我的MySql代码,
BETWEEN DATE_SUB(CURDATE(), INTERVAL (IF(DAYNAME(CURDATE()) = 'Monday',3,1)) DAY) AND
DATE_SUB(CURDATE(), INTERVAL (IF(DAYNAME(CURDATE()) = 'Monday',1,1)) DAY)
我知道如何在Sql Server 2008中没有时间拉上前一天,但是我无法将这行代码从MySql转换为Sql。
答案 0 :(得分:0)
根据您提供的MySQL
代码,这应该可以满足您的需求:
Between Cast(DateAdd(Day, Case When DatePart(WeekDay, GetDate()) = 2 Then -3 Else -1 End, GetDate()) As Date)
And Cast(DateAdd(Day, -1, GetDate()) As Date)
第二个If
语句让我感到困惑,因为无论结果如何,您总是使用1天。因此,为此,我将其简化为始终使用昨天的日期。