微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取“两天前”日期sql server

如何解决获取“两天前”日期sql server

我想从当前日期开始两天前,该日期不应该是周六和周日,今天是 2021 年 7 月 1 日,所以我需要获取 2021 年 6 月 30 日和 2021 年 6 月 29 日的数据,那一天不应该是周六和周日.

解决方法

使用 CASE 表达式:

SELECT CASE DATEPART(dw,GETDATE())
       WHEN 2 THEN DATEADD(day,-3,GETDATE())  -- Monday becomes Friday
       WHEN 3 THEN DATEADD(day,-4,GETDATE())  -- Tuesday becomes Friday
       ELSE DATEADD(day,-2,GETDATE())         -- otherwise roll back 2 days
       END;

以上答案假设服务器设置将星期日设为第 1 天,将星期一设为第 2 天,...,将星期六设为第 7 天。如果没有这个假设,我的答案可能毫无价值

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。