这是我的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。
最佳答案
根据您提供的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天。因此,为此,我将其简化为始终使用昨天的日期。关于mysql - SQL拉前一天,除了周一拉周五到周日,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28172598/