我从表中的日期自动计算了一周,例如,我们有一个日期2021-01-08 00:00:00.000
并希望从中获得一周(datepart(week,[Наша_Дата]))
。
在我的示例中,2021 年 1 月 8 日是一年中的第一周。SQL 告诉我这是第二周。
问题是什么以及如何解决?
微软 SQL 服务器 2016
我从表中的日期自动计算了一周,例如,我们有一个日期2021-01-08 00:00:00.000
并希望从中获得一周(datepart(week,[Наша_Дата]))
。
在我的示例中,2021 年 1 月 8 日是一年中的第一周。SQL 告诉我这是第二周。
问题是什么以及如何解决?
微软 SQL 服务器 2016
在旧版本的 SQL Server 中,开发人员不太关心 ISO 标准,并决定将包含“1 月 1 日”的那一周计算为第一周。
根据 ISO 标准,第一周被认为是“1 月 4 日”。后来的版本考虑到了这一点,并添加了“iso_week”修饰符。出于兼容性原因,“周”修饰符保持不变。
来自维基百科: