请问sqlserver如何自定义周次?

规则是12月26日开始算新年第一天,也是新年第一周,以此累计下去。从周一到周日算一周。举例如:2022年12月26日属于2023年第1天,2022.12.26(周一)~2023.01.01(周日)这7天算2023年第1周。该怎么写呢?——查某日期属于哪一周,按这个规则

FineReport 牛气冲天的哇 发布于 2022-12-2 12:01 (编辑于 2022-12-2 12:01)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-12-2 12:46

DECLARE  @RQ_ DATE

SET @RQ_='2023-01-01'

SELECT (CASE WHEN (DATEDIFF_BIG(DAY,'2022-12-26',@RQ_)+1)%7=0 THEN (DATEDIFF_BIG(DAY,'2022-12-26',@RQ_)+1)/7 ELSE ((DATEDIFF_BIG(DAY,'2022-12-26',@RQ_)+1)/7)+1  END ) AS [WEEKS]

image.png

image.png

  • 牛气冲天的哇 牛气冲天的哇(提问者) 谢谢您呀!!那其他年份也是这个计算规则,如2021-12-26(周日)是2022年第1周,2021-12-27(周一)又属2022年第2周了,该怎么写哟
    2022-12-02 14:06 
  • Z4u3z1 Z4u3z1 回复 牛气冲天的哇(提问者) 一样的啊 不外乎把 2022-12-26 也和换成和 @RQ_ 一样的变量即可
    2022-12-02 14:08 
最佳回答
0
snrtuemcLv8专家互助
发布于2022-12-2 12:33

select datename(week,'2022-12-1')

这个获取这个日期在第几周

  • 2关注人数
  • 315浏览人数
  • 最后回答于:2022-12-2 12:46
    请选择关闭问题的原因
    确定 取消
    返回顶部