Outdated Version

You are viewing an older version of this section. View current production version.

DATE_ADD

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. Complex types allowed for unit include YEAR_MONTH, DAY_HOUR, DAY_MINUTE, DAY_SECOND, DAY_MICROSECOND, HOUR_MINUTE, HOUR_SECOND, HOUR_MICROSECOND, MINUTE_SECOND, MINUTE_MICROSECOND, SECOND_MICROSECOND. The expected format of expr for complex unit types is an arbitrarily delimited string of integers.

Return Type

Date or datetime object. If dateobj is not a valid date, returns NULL.

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                                       |
+------------------------------------------------------------------+