DATE_ADD()
是 MySQL 中的一个日期时间函数,用于对日期或时间值进行加减操作。它可以根据指定的时间间隔(如天、月、小时等)来调整日期或时间。
语法
DATE_ADD(date, INTERVAL value unit)
date
:需要操作的日期或时间。value
:要添加或减去的数值,可以是正数(增加)或负数(减少)。unit
:指定时间单位(如 DAY、MONTH、YEAR、HOUR 等)。
关键点
INTERVAL
是 MySQL 关键字,表示一个时间间隔。- 单位和数值组合定义了如何调整
date
。 - 如果需要减去时间,可以使用负数,或者用
DATE_SUB()
函数。
常见的单位(unit
)
单位 | 含义 |
---|---|
SECOND | 秒 |
MINUTE | 分钟 |
HOUR | 小时 |
DAY | 天 |
MONTH | 月 |
YEAR | 年 |
WEEK | 周(7天为单位) |
QUARTER | 季度(3个月为单位) |
MICROSECOND | 微秒 |
案例解释
1. 增加时间
SELECT DATE_ADD('2024-12-01', INTERVAL 10 DAY);
-- 输出:2024-12-11
2. 减少时间
使用负数或 DATE_SUB()
:
SELECT DATE_ADD('2024-12-01', INTERVAL -10 DAY);
-- 或
SELECT DATE_SUB('2024-12-01', INTERVAL 10 DAY);
-- 输出:2024-11-21
3. 增加月份和年份
SELECT DATE_ADD('2024-12-01', INTERVAL 2 MONTH);
-- 输出:2025-02-01
SELECT DATE_ADD('2024-12-01', INTERVAL 1 YEAR);
-- 输出:2025-12-01
4. 增加具体时间
SELECT DATE_ADD('2024-12-01 10:30:00', INTERVAL 2 HOUR);
-- 输出:2024-12-01 12:30:00
总结
DATE_ADD()
是一个强大的日期操作函数,适用于加减各种时间间隔。在时间计算、时间范围查询、报表生成等场景中非常有用。