如何将年周(例如 0852 或 200852)转换为日期(例如 2008-12-31 或具体的一周结束日,即星期六 2008-12-27 或一周开始日,即 2008 年 12 月 21 日)?
周末的任何一天都可以,周五、周六、周日或周一。
SQL服务器 https://en.wikipedia.org/wiki/Microsoft_SQL_Server具有 DATEADD 功能,应该可以帮助...
DECLARE @date_string NCHAR(6)
SELECT @date_string = N'200852'
SELECT DATEADD(
WEEK,
CAST(RIGHT(@date_string, 2) AS INT),
DATEADD(
YEAR,
CAST(LEFT(@date_string, 4) AS INT) - 1900,
0
)
)
获得该值后,使用 DATEPART 获取该日期是一周中的哪一天,然后从您的答案中减去该值...
DECLARE @new_date DATETIME
SELECT @new_date = '2008 Dec 30'
SELECT DATEADD(DAY, 1-DATEPART(dw, @new_date), @new_date)
这会将值带到一周的开始,具体取决于您设置的 DATEFIRST 的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)