gpt4 book ai didi

MySQL 将 YEARWEEK 转换为日期

转载 作者:可可西里 更新时间:2023-11-01 06:55:19 26 4
gpt4 key购买 nike

我有一个来自 MySQL 的 YEARWEEK() 转换值

201439

我想使用 MySQL 将其转换回该周数的开始日期,可能吗?

例如

SELECT xxx('201439');

并返回

'2014-09-16'

最佳答案

您需要注意年周是否处于预期的“模式”。 (参见 https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_week)

STR_TO_DATE 中使用的格式应该匹配。 (参见 https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format)

例如如果使用模式 2(1-53,Week 1 是第一个有星期日的星期,星期从星期日开始)

SELECT STR_TO_DATE(CONCAT('201439',' Sunday'), '%X%V %W');

例如如果使用模式 3(遵循 ISO-8601),(1-53,第 1 周是有 4 天或更多天的第一周,从星期一开始),则需要使用小写版本。

SELECT STR_TO_DATE(CONCAT('201439',' Monday'), '%x%v %W');

因此,将得到以下内容(2014-09-28 是星期日):

SELECT yearweek('2014-09-28', 2);
201439
SELECT yearweek('2014-09-28', 3);
201439
SELECT yearweek('2014-09-29', 2);
201439
SELECT yearweek('2014-09-29', 3);
201440

然后

SELECT STR_TO_DATE(CONCAT('201439',' Sunday'), '%X%V %W'); -- mode 2
2014-09-28
SELECT STR_TO_DATE(CONCAT('201439',' Monday'), '%x%v %W'); -- mode 3
2014-09-22
SELECT STR_TO_DATE(CONCAT('201440',' Monday'), '%x%v %W'); -- mode 3
2014-09-29

关于MySQL 将 YEARWEEK 转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30364141/

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