DATE_ADD、DATE_SUB Function - SQL
DATE_ADD() 和 DATE_SUB() 用于在日期或日期时间上增加或减少指定的时间间隔。
1. DATE_ADD()
DATE_ADD()
函数用于向指定的日期或日期时间值添加一个时间间隔。
DATE_ADD(date, INTERVAL expr unit)
date
: 要添加时间间隔的日期或日期时间值。expr
: 指定要添加的时间间隔数目,可以为正数(加)或负数(减)。unit
: 指定时间间隔的单位,可以是 YEAR, MONTH, DAY, HOUR, MINUTE, SECOND 等。
eg.
- 在当前日期时间上添加一个月:
SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH) AS NextMonth;
- 在订单日期上添加两周:
SELECT DATE_ADD(OrderDate, INTERVAL 2 WEEK) AS NewDeliveryDate
FROM Orders;
2. DATE_SUB()
DATE_SUB()
函数用于从指定的日期或日期时间值减去一个时间间隔。
DATE_SUB(date, INTERVAL expr unit)
date
: 要减去时间间隔的日期或日期时间值。expr
: 指定要减去的时间间隔数目,可以为正数(减)或负数(加)。unit
: 指定时间间隔的单位,可以是 YEAR, MONTH, DAY, HOUR, MINUTE, SECOND 等。
eg.
- 在当前日期时间上减去一个月:
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH) AS PreviousMonth;
- 在订单日期上减去一周:
SELECT DATE_SUB(OrderDate, INTERVAL 1 WEEK) AS PastDeliveryDate
FROM Orders;
Tips:
- MySQL 中的
DATE_ADD()
和DATE_SUB()
函数返回的是一个新的日期或日期时间值,原始的输入日期不会被修改。 - 参数
expr
可以是一个整数值或者一个表达式,用于指定要添加或减去的时间数量。