如何获取mySQL中DATETIME列的结束周



我正在使用MySQL,并且在从DATETIME列获取一周结束日期时遇到问题,其中一周结束被认为是星期日,

我的表是这样的:

<表类> Unique_ID 日期 tbody><<tr>1232020-07-13 17:03:31.0354562021-01-01 15:02:19.0297892020-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>4562021-01-01 15:02:19 td>4

最新更新