DATE_ ADD
On this page
Adds the given interval of time to a date or datetime object.
Syntax
DATE_ADD (dateobj, INTERVAL expr unit)
ADDDATE (dateobj, INTERVAL expr unit)
ADDDATE (dateobj, days)
Arguments
-
dateobj: a valid date, datetime, or parsable date string
-
expr: the number of units to add if unit is a simple type, or a string representation of the units to add if unit is a complex type.
Can be negative. -
days: number of days to add.
Can be negative.
Simple types allowed for unit
include YEAR
, QUARTER
, MONTH
, WEEK
, DAY
, HOUR
, MINUTE
, SECOND
, MICROSECOND
.unit
include YEAR_
, DAY_
, DAY_
, DAY_
, DAY_
, HOUR_
, HOUR_
, HOUR_
, MINUTE_
, MINUTE_
, SECOND_
.expr
for complex unit
types is an arbitrarily delimited string of integers.
Return Type
Date or datetime object.
Examples
SELECT ADDDATE("2010-04-02 01:23:54", INTERVAL 1 YEAR);
+-------------------------------------------------+
| ADDDATE("2010-04-02 01:23:54", INTERVAL 1 YEAR) |
+-------------------------------------------------+
| 2011-04-02 01:23:54 |
+-------------------------------------------------+
SELECT ADDDATE("2010-04-02", INTERVAL "1 02:03:04.567" DAY_MICROSECOND);
+------------------------------------------------------------------+
| ADDDATE("2010-04-02", INTERVAL "1 02:03:04.567" DAY_MICROSECOND) |
+------------------------------------------------------------------+
| 2010-04-03 02:03:04.567000 |
+------------------------------------------------------------------+
SELECT Emp_No, Hire_Date, DATE_ADD(Hire_Date, INTERVAL 3 MONTH) Contract_End_Date FROM Employees WHERE Emp_No = 12345;
+--------+------------+-------------------+
| Emp_No | Hire_Date | Contract_End_Date |
+--------+------------+-------------------+
| 12345 | 2014-10-28 | 2015-01-28 |
+--------+------------+-------------------+
Last modified: May 31, 2023