Watch the 7.3 Webinar On-Demand
This new release brings updates to Universal Storage, query optimization, and usability that you won’t want to miss.


Subtracts the given interval of time to a date or datetime object.


DATE_SUB (dateobj, INTERVAL expr unit)
SUBDATE (dateobj, INTERVAL expr unit)
SUBDATE (dateobj, days)


  • 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 subtract. Can be negative.

See DATE_ADD for a description of unit.

Return Type

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


select DATE_SUB('2010-04-02', INTERVAL 1 WEEK);
| DATE_SUB("2010-04-02", INTERVAL 1 WEEK) |
| 2010-03-26                              |