首页/数据/SQL 速查/DATE_ADD / INTERVAL 日期加减
函数速查60 条

DATE_ADD / INTERVAL 日期加减

日期加减的主力语法:MySQL 用 DATE_ADD(d, INTERVAL n UNIT) 或 d ± INTERVAL;PostgreSQL 用 d ± interval 'n unit'。

SQL 速查数据更新于 2026-10-12

MySQL

MySQL
SELECT DATE_ADD('2024-06-01', INTERVAL 7 DAY);     -- 2024-06-08
SELECT DATE_SUB('2024-06-01', INTERVAL 1 MONTH);   -- 2024-05-01
SELECT '2024-06-01 10:00:00' + INTERVAL 90 MINUTE;  -- 时间也可用
SELECT DATE_ADD(d, INTERVAL -1 DAY) FROM t;         -- 负值即减法

PostgreSQL

PostgreSQL
SELECT DATE '2024-06-01' + INTERVAL '7 days';
SELECT TIMESTAMP '2024-06-01 10:00:00' - INTERVAL '90 minutes';
SELECT DATE '2024-06-01' + 7;   -- date + 整数 = 加天
常用单位MySQL:DAY / MONTH / YEAR / HOUR / MINUTE / SECOND / WEEK
PostgreSQL字符串单位:'1 day' / '2 hours' / '1 month'
参数为字符串两库都可传日期字符串,隐式转换为日期

易错点

  • MySQL 的 INTERVAL 里单位是关键字(INTERVAL 1 DAY),PostgreSQL 是字符串(INTERVAL '1 day'),写法不可互换
  • 对 DATETIME 列加月得到的结果可能超出目标月天数,月底日期需要业务确认是否取当月最后一天

数据来源与参考

  • MySQL 8.0 Reference Manual · DATE_ADD
  • PostgreSQL Documentation · Date/Time Functions and Operators
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌