MySQL ADDDATE() Function
The ADDDATE() function in MySQL allows you to add or subtract a time interval to or from a date, making it easy to calculate future or past dates. It's a very useful tool for date manipulation.
ADDDATE(): Definition and Usage
ADDDATE() lets you adjust a date by adding or subtracting various time units (days, months, years, hours, minutes, seconds, etc.). It's much more flexible than simply adding or subtracting numbers to a date because you can specify the *type* of interval you're adding.
Syntax
Syntax
ADDDATE(date, INTERVAL value unit)
--or--
ADDDATE(date, days) --For adding/subtracting only days.
Parameter Values
| Parameter | Description |
|---|---|
date |
The starting date. This is required. |
value |
The number of intervals to add (positive) or subtract (negative). This is required. |
unit |
The unit of time. Options: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, SECOND_MICROSECOND, MINUTE_MICROSECOND, MINUTE_SECOND, HOUR_MICROSECOND, HOUR_SECOND, HOUR_MINUTE, DAY_MICROSECOND, DAY_SECOND, DAY_MINUTE, DAY_HOUR, YEAR_MONTH. This is required. |
days |
The number of days to add (positive) or subtract (negative). Used in the simplified syntax. This is required when using simplified syntax. |
Examples
Adding Days to a Date
Adding 10 days to June 15th, 2017.
Syntax
SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);
Output
2017-06-25
Adding Minutes to a Datetime
Adding 15 minutes to a datetime value.
Syntax
SELECT ADDDATE("2017-06-15 09:34:21", INTERVAL 15 MINUTE);
Output
2017-06-15 09:49:21
Subtracting Hours from a Datetime
Subtracting 3 hours from a datetime value.
Syntax
SELECT ADDDATE("2017-06-15 09:34:21", INTERVAL -3 HOUR);
Output
2017-06-15 06:34:21
Subtracting Months from a Date
Subtracting 2 months from a date.
Syntax
SELECT ADDDATE("2017-06-15", INTERVAL -2 MONTH);
Output
2017-04-15