DATE_ADD() 是 MySQL 中用于在日期上增加时间间隔的函数。它可以对 DATE, DATETIME, 或 TIMESTAMP 数据类型进行操作,返回修改后的日期或时间。
语法:
1 | sql |
date: 需要进行加法运算的原始日期,通常为DATE,DATETIME, 或TIMESTAMP类型。expr: 要添加的时间间隔,可以是整数或小数。unit: 表示时间单位,可以是年、月、日、小时等。
常见的 unit 单位:
YEAR: 年MONTH: 月DAY: 天HOUR: 小时MINUTE: 分钟SECOND: 秒WEEK: 周QUARTER: 季度MICROSECOND: 微秒
示例:
增加天数:
增加 10 天:
1
2sql
SELECT DATE_ADD('2024-09-12', INTERVAL 10 DAY);结果:
2024-09-22
原始日期2024-09-12上加 10 天。增加月份:
增加 3 个月:
1
2sql
SELECT DATE_ADD('2024-09-12', INTERVAL 3 MONTH);结果:
2024-12-12
原始日期2024-09-12上加 3 个月。增加年份:
增加 5 年:
1
2sql
SELECT DATE_ADD('2024-09-12', INTERVAL 5 YEAR);结果:
2029-09-12增加小时:
增加 2 小时:
1
2sql
SELECT DATE_ADD('2024-09-12 14:00:00', INTERVAL 2 HOUR);结果:
2024-09-12 16:00:00增加复合时间:
增加 1 年 2 个月:
1
2sql
SELECT DATE_ADD('2024-09-12', INTERVAL 1 YEAR + INTERVAL 2 MONTH);结果:
2025-11-12
注意事项:
- 如果日期无效或超出范围,MySQL 会返回
NULL。 - 如果使用负的
expr值,DATE_ADD可以实现日期的减法运算。例如,INTERVAL -10 DAY会减去 10 天。
小结:
DATE_ADD() 是处理时间和日期运算的常用函数,可以方便地增加时间单位(如年、月、日、小时等)到一个日期或时间。