我正在使用MySQL,并且在从DATETIME列获取一周结束日期时遇到问题,其中一周结束被认为是星期日,
我的表是这样的:
<表类>
Unique_ID
日期
tbody><<tr>123 2020-07-13 17:03:31.035 456 2021-01-01 15:02:19.029 789 2020-08-02 18:07:14.011 表类>
下面是Akina在评论中建议的详细说明(我希望):
SELECT *,
dt + INTERVAL 6 DAY add6 /*add 6 day ahead*/,
DAYNAME(dt + INTERVAL 6 DAY) dn6 /*6 day ahead dayname*/,
dt + INTERVAL (6 - wkd) DAY nxtsun /*add 6 day ahead then subtract weekday value from date column*/,
DAYNAME(dt + INTERVAL (6 - wkd) DAY) nxtsundn
FROM
(SELECT *,
DATE(date) dt,
DAYNAME(date) dn,
WEEKDAY(date) wkd
FROM mytable) A;
让我们从数据样本中取出第二行来说明发生了什么。上面的基本查询:
SELECT *,
DATE(date) dt,
DAYNAME(date) dn,
WEEKDAY(date) wkd
FROM mytable
将返回以下内容。
<表类>Unique_ID 日期 dn 收到 tbody><<tr>456 2021-01-01 15:02:19 td> 4 表类>