如何在 MySQL 中查找一周的第一天?

Barbara Streisand
发布: 2024-11-11 21:00:04
原创
480 人浏览过

How to Find the First Day of the Week in MySQL?

在 MySQL 中获取一周的第一天

在处理数据库中的时态数据时,通常需要确定给定时间的第一天星期。这对于对数据进行分组和分析一段时间内的趋势特别有用。

问题陈述

用户有一个按周对数据进行分组的查询,但想要显示第一个每周的某一天而不是不同的日期。他们已确定日期 (2011-01-03),并需要检索相应的一周第一天 (2011-01-02)。

从星期日开始的周

如果一周从星期日开始,则可以使用以下 MySQL 表达式:

DATE_ADD(mydate, INTERVAL(1-DAYOFWEEK(mydate)) DAY)
登录后复制

该表达式通过从给定日期中减去当前的星期几(从 1 开始),然后加上 1 天来计算一周的第一天。

从星期一开始的周

如果一周从星期一开始,则需要不同的表达式:

DATE_ADD(mydate, INTERVAL(-WEEKDAY(mydate)) DAY);
登录后复制

在这种情况下,是一周中的当前日期(从 0 开始)从给定日期中减去,以确定返回到星期一的天数。

用法示例

假设我们有以下日期,代表 2011-01-03:

'2011-01-03'
登录后复制

如果假设一周从星期日开始,我们可以使用第一个表达式查找一周的第一天:

SELECT DATE_ADD('2011-01-03', INTERVAL(1-DAYOFWEEK('2011-01-03')) DAY);
登录后复制

这将产生以下结果:

2011-01-02
登录后复制

正如预期的那样,一周的第一天从星期日开始是 2011-01-02。

以上是如何在 MySQL 中查找一周的第一天?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板