DATE_ADD
Declaration
DATE_ADD(date, INTERVAL expr unit)
Description
The DATE_ADD function adds a specified time interval to a given date and returns the result.
The parameters are described as follows:
-
datespecifies the base date and time, which can be a date, time, or datetime value. -
exprspecifies the time interval, which can be a negative value. -
unitspecifies the unit of the time interval.
The following table lists all the time interval units:
| Unit | Type | Description | Format |
|---|---|---|---|
MICROSECOND | Independent | Microsecond | MICROSECONDS |
SECOND | Independent | Second | SECONDS |
MINUTE | Independent | Minute | MINUTES |
HOUR | Independent | Hour | HOURS |
DAY | Independent | Day | DAYS |
WEEK | Independent | Week | WEEKS |
MONTH | Independent | Month | MONTHS |
QUARTER | Independent | Quarter | QUARTERS |
YEAR | Independent | Year | YEARS |
SECOND_MICROSECOND | Combined | Second to microsecond | 'SECONDS.MICROSECONDS' |
MINUTE_MICROSECOND | Combined | Minute to microsecond | 'MINUTES:SECONDS.MICROSECONDS' |
MINUTE_SECOND | Combined | Minute to second | 'MINUTES:SECONDS' |
HOUR_MICROSECOND | Combined | Hour to microsecond | 'HOURS:MINUTES:SECONDS.MICROSECONDS' |
HOUR_SECOND | Combined | Hour to second | 'HOURS:MINUTES:SECONDS' |
HOUR_MINUTE | Combined | Hour to minute | 'HOURS:MINUTES' |
DAY_SECOND | Combined | Day to second | 'DAYS HOURS:MINUTES:SECONDS' |
DAY_MINUTE | Combined | Day to minute | 'DDAYSD HOURS:MINUTES' |
DAY_HOUR | Combined | Day to hour | 'DAYS HOURS' |
YEAR_MONTH | Combined | Year to month | 'YEARS-MONTHS' |
Examples
SELECT
DATE_ADD(NOW(), INTERVAL 5 DAY),
DATE_ADD('2021-01-10', INTERVAL 5 MICROSECOND),
DATE_ADD('2021-01-10', INTERVAL 5 SECOND),
DATE_ADD('2021-01-10', INTERVAL 5 MINUTE),
DATE_ADD('2021-01-10', INTERVAL 5 HOUR),
DATE_ADD('2021-01-10', INTERVAL 5 DAY),
DATE_ADD('2021-01-10', INTERVAL 5 WEEK),
DATE_ADD('2021-01-10', INTERVAL 5 MONTH),
DATE_ADD('2021-01-10', INTERVAL 5 QUARTER),
DATE_ADD('2021-01-10', INTERVAL 5 YEAR),
DATE_ADD('2021-01-10', INTERVAL '5.000005' SECOND_MICROSECOND),
DATE_ADD('2021-01-10', INTERVAL '05:05.000005' MINUTE_MICROSECOND),
DATE_ADD('2021-01-10', INTERVAL '05:05' MINUTE_SECOND),
DATE_ADD('2021-01-10', INTERVAL '05:05:05.000005' HOUR_MICROSECOND),
DATE_ADD('2021-01-10', INTERVAL '05:05:05' HOUR_SECOND),
DATE_ADD('2021-01-10', INTERVAL '05:05' HOUR_MINUTE),
DATE_ADD('2021-01-10', INTERVAL '01 05:05:05.000005' DAY_MICROSECOND),
DATE_ADD('2021-01-10', INTERVAL '01 05:05:05' DAY_SECOND),
DATE_ADD('2021-01-10', INTERVAL '01 05:05' DAY_MINUTE),
DATE_ADD('2021-01-10', INTERVAL '01 05' DAY_HOUR),
DATE_ADD('2021-01-10', INTERVAL '1-01' YEAR_MONTH)
\G
*************************** 1. row ***************************
DATE_ADD(NOW(), INTERVAL 5 DAY): 2025-12-22 16:20:13
DATE_ADD('2021-01-10', INTERVAL 5 MICROSECOND): 2021-01-10 00:00:00.000005
DATE_ADD('2021-01-10', INTERVAL 5 SECOND): 2021-01-10 00:00:05
DATE_ADD('2021-01-10', INTERVAL 5 MINUTE): 2021-01-10 00:05:00
DATE_ADD('2021-01-10', INTERVAL 5 HOUR): 2021-01-10 05:00:00
DATE_ADD('2021-01-10', INTERVAL 5 DAY): 2021-01-15
DATE_ADD('2021-01-10', INTERVAL 5 WEEK): 2021-02-14
DATE_ADD('2021-01-10', INTERVAL 5 MONTH): 2021-06-10
DATE_ADD('2021-01-10', INTERVAL 5 QUARTER): 2022-04-10
DATE_ADD('2021-01-10', INTERVAL 5 YEAR): 2026-01-10
DATE_ADD('2021-01-10', INTERVAL '5.000005' SECOND_MICROSECOND): 2021-01-10 00:00:05.000005
DATE_ADD('2021-01-10', INTERVAL '05:05.000005' MINUTE_MICROSECOND): 2021-01-10 00:05:05.000005
DATE_ADD('2021-01-10', INTERVAL '05:05' MINUTE_SECOND): 2021-01-10 00:05:05
DATE_ADD('2021-01-10', INTERVAL '05:05:05.000005' HOUR_MICROSECOND): 2021-01-10 05:05:05.000005
DATE_ADD('2021-01-10', INTERVAL '05:05:05' HOUR_SECOND): 2021-01-10 05:05:05
DATE_ADD('2021-01-10', INTERVAL '05:05' HOUR_MINUTE): 2021-01-10 05:05:00
DATE_ADD('2021-01-10', INTERVAL '01 05:05:05.000005' DAY_MICROSECOND): 2021-01-11 05:05:05.000005
DATE_ADD('2021-01-10', INTERVAL '01 05:05:05' DAY_SECOND): 2021-01-11 05:05:05
DATE_ADD('2021-01-10', INTERVAL '01 05:05' DAY_MINUTE): 2021-01-11 05:05:00
DATE_ADD('2021-01-10', INTERVAL '01 05' DAY_HOUR): 2021-01-11 05:00:00
DATE_ADD('2021-01-10', INTERVAL '1-01' YEAR_MONTH): 2022-02-10
1 row in set (0.002 sec)