这是我的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/

10-11 22:25
查看更多