怎么获取指定日期的上一周周一和周日

SQL SERVER,比如2023-04-06,怎么能获取到2023-04-02和2023-03-27

SQL 帆软用户W0HmaWtan0 发布于 2023-4-6 11:27 (编辑于 2023-4-6 11:29)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-4-6 11:40

set datefirst 1---将周1设为第一天  默认 是 set datefirst 7

SELECT  CONVERT(NVARCHAR(10),DATEADD(DAY,-7,DATEADD(DAY,-(DATEPART(WEEKDAY,GETDATE())-1),GETDATE())),120) [上周一], CONVERT(NVARCHAR(10),DATEADD(DAY,-1,DATEADD(DAY,-(DATEPART(WEEKDAY,GETDATE())-1),GETDATE())),120) [上周末]

image.png

最佳回答
0
qwe9711111Lv5见习互助
发布于2023-4-6 11:35

可以使用week函数,获取当前日期是星期几得一数值,然后用add_days(当前日期,-数值)就是对应4.2号这个值 ,3.27号这个值就是再往前推7天

  • 2关注人数
  • 283浏览人数
  • 最后回答于:2023-4-6 11:40
    请选择关闭问题的原因
    确定 取消
    返回顶部