gpt4 book ai didi

sql - 如何根据SQL Server中的周数获取星期一、星期日?

转载 作者:行者123 更新时间:2023-12-03 01:26:42 35 4
gpt4 key购买 nike

我有周数(例如 23),我想获取该周周一和周日的日期。
我假设星期一是一周的第一天(例如,我的脚本中有 SET DATEFIRST 1)。

最佳答案

DECLARE @startweek1 datetime
SET DATEFIRST 1

--first monday of year
SELECT @startweek1 = DATEADD(day, 8-DATEPART(weekday, '2011-01-01'), '2011-01-01')

--day based
SELECT
DATEADD(day, 22 * 7, @startweek1) AS MondayWeek23,
DATEADD(day, 23 * 7 -1 , @startweek1) AS SundayWeek23

--week based
SELECT
DATEADD(week, 22, @startweek1) AS MondayWeek23,
DATEADD(day, -1, DATEADD(week, 23 , @startweek1)) AS SundayWeek23

编辑:

如果第 1 周没有像 Andomar 所说的那样从第一天开始,则此解决方案有效

编辑2:

根据Wikipedia :2008-12-29 是 ISO 中 2009 年第 1 周的第 1 天。

week numbers vary正如安多马尔所说

Cyber​​kiwi 提到这段代码在 2007 年是错误的:它错误的次数远不止于此。这同样适用于他的代码,它与 2007 年匹配,但对于其余代码同样是错误的。

关于sql - 如何根据SQL Server中的周数获取星期一、星期日?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4878878/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com