You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中获取DATETIME列对应以周日为结束的周末日期

MySQL 计算以周日为周结束日的周结束日期

核心实现方法

通过MySQL内置日期函数组合即可实现需求,兼容所有主流MySQL版本,逻辑如下:

  • 先用DATE()函数提取DATETIME类型字段的纯日期部分,丢弃时间信息
  • 借助WEEKDAY()函数获取日期对应的周内索引,该函数返回规则为:0=周一、1=周二、...、5=周六、6=周日
  • 计算到当周周日需要偏移的天数:6 - WEEKDAY(日期),刚好对应从当前日期到本周日需要增加的天数
  • 最后通过DATE_ADD()完成日期偏移,得到周结束日期

完整查询示例

假设你的表名为your_table,查询语句如下:

SELECT
  Unique_ID,
  `Date`,
  DATE_ADD(DATE(`Date`), INTERVAL (6 - WEEKDAY(`Date`)) DAY) AS week_end_date
FROM your_table;

注意:Date属于MySQL关键字,作为字段名使用时需要用反引号包裹避免语法报错。

效果验证

以你给出的示例日期2021-01-01 15:02:19.029为例:

  1. DATE('2021-01-01 15:02:19.029')得到纯日期2021-01-01
  2. WEEKDAY('2021-01-01')返回4(对应周五)
  3. 偏移天数为6-4=2,日期加2天得到2021-01-03,完全符合预期。

内容的提问来源于stack exchange,提问作者JumpJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:15:05