DATE_SUB()
函数详细说明DATE_SUB()
是 MySQL 中的一个日期时间函数,主要用于从给定日期或时间中减去指定的时间间隔。它可以用于日期和时间类型的数据,以便在查询时灵活处理日期时间的操作。
DATE_SUB(date, INTERVAL expr unit)php34 Bytes© 菜鸟-创作你的创作
date
:这是原始的日期或时间,表示从此日期/时间开始进行计算。它可以是日期、时间或日期时间类型(如 DATE
、DATETIME
、TIMESTAMP
)。expr
:需要减去的时间量,通常是一个数值。它表示要减去的时间间隔的数量。unit
:时间单位,指定减去的时间单位类型。常见的单位包括:SECOND
、MINUTE
、HOUR
、DAY
、MONTH
、YEAR
等。返回一个新的日期/时间值,表示从原始 date
减去 expr
长度的 unit
单位后的结果。
SECOND
:秒MINUTE
:分钟HOUR
:小时DAY
:天WEEK
:周MONTH
:月QUARTER
:季度YEAR
:年SELECT DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY);
返回:当前日期减去 10 天的日期。SELECT DATE_SUB('2025-07-30', INTERVAL 3 MONTH);
返回:2025-04-30
。SELECT DATE_SUB(NOW(), INTERVAL 5 HOUR);
返回:当前时间减去 5 小时的时间。SELECT DATE_SUB(NOW(), INTERVAL 30 MINUTE);
返回:当前时间减去 30 分钟的时间。SELECT DATE_SUB('2025-07-30 14:30:00', INTERVAL 100 SECOND);
返回:2025-07-30 14:28:20
。SELECT DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR);
返回:当前日期减去一年的日期。SELECT DATE_SUB('2025-07-30', INTERVAL 2 QUARTER);
返回:2025-01-30
。假设你有一个用户表 users
,其中有一个 created_at
字段记录了每个用户的注册时间。现在你想查询过去 3 个月内注册的所有用户:
SELECT * FROM usersWHERE created_at >= DATE_SUB(CURRENT_DATE, INTERVAL 3 MONTH);php81 Bytes© 菜鸟-创作你的创作
这条查询会返回所有 created_at
字段值在当前日期减去 3 个月后的日期或之后的记录。
DATE_SUB()
返回的是 DATE
或 DATETIME
类型的值,具体取决于输入的日期格式。expr
为负数,实际上是对日期进行加法操作,效果等同于 DATE_ADD()
。DATE_SUB()
支持多种时间单位,例如 SECOND
、MINUTE
、HOUR
、DAY
、MONTH
、YEAR
等。合理选择单位能让日期运算更加精准和高效。DATE_SUB()
是一个强大的日期操作函数,能够帮助我们轻松地进行日期时间的减法计算。无论是减去天数、月数,还是小时、分钟等,都可以通过该函数来实现,广泛应用于数据分析、报表生成、定期任务等多种场景中。通过合理的使用该函数,我们可以简洁地处理各种时间范围的查询和计算。https://www.52runoob.com/archives/4838
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。