首页 > 解决方案 > 我们如何在 SQL 中将 2018-12-31 转换为 2019 年的第 1 周?

问题描述

使用CONCAT(TO_CHAR(T.order_create_date,'yyyy')," ",WEEKOFYEAR(T.order_create_date))返回2018-12-31作为2018-1.

标签: sql

解决方案


每年的第一周从当年 1 月 4 日或之前的第一个星期一开始,因此该年从上一年的 12 月 28 日开始到当年的 1 月 4 日。

SELECT(DATEPART(dy,DATEADD(dd,DATEDIFF(dd,'17530101',@SomeDate)/7*7,'17530104'))+6)/7;


推荐阅读