我想将本周的所有数据提取到前一天。 例如:
如果日期是2016-05-09周一。我希望2016-05-02上周一到2016-05-08周日。
如果日期是2016-05-10周二。我希望2016-05-09上周一到2016-05-09周一。
我尝试过没有快乐。
and (ShiftDate Between DATEADD(wk, 0, DATEADD(DAY, (1-DATEPART(WEEKDAY, GETDATE()-1)), DATEDIFF(dd, 0, GETDATE())))and GETDATE()-1)
答案 0 :(得分:1)
你应该用这个:
and (ShiftDate Between (GETDATE() - 1 - (DATEPART(weekday, GETDATE() -1) + 7 - 2) % 7)
and (GETDATE()-1)
)
因为Sunday
中的weekday
为1,所以您应该添加 7 ,然后按 7 添加模块,以获得与最近{{1}的不同之处}(前一天Monday
中的2个)。