Temporal Intervals Temporal intervals are used for certain functions, such as  DATE_ADD()  and  DATE_SUB() : mysql>  SELECT DATE_ADD(’2018-05-01’,INTERVAL 1 DAY); -> ’2018-05-02’ mysql>  SELECT DATE_SUB(’2018-05-01’,INTERVAL 1 YEAR); -> ’2017-05-01’ mysql>  SELECT DATE_ADD(’2020-12-31 23:59:59’, -> INTERVAL 1 SECOND); -> ’2021-01-01 00:00:00’ mysql>  SELECT DATE_ADD(’2018-12-31 23:59:59’, -> INTERVAL 1 DAY); -> ’2019-01-01 23:59:59’ mysql>  SELECT DATE_ADD(’2100-12-31 23:59:59’, -> INTERVAL ’1:1’ MINUTE_SECOND); -> ’2101-01-01 00:01:00’ mysql>  SELECT DATE_SUB(’2025-01-01 00:00:00’, -> INTERVAL ’1 1:1:1’ DAY_SECOND); -> ’2024-12-30 22:58:59’ mysql>  SELECT DATE_ADD(’1900-01-01 00:00:00’, -> INTERVAL ’-1 10’ DAY_HOUR); -> ’1899-12-30 14:00:00’ mysql>  SELECT DATE_SUB(’1998-01-02’, INTERVAL 31 DAY); -> ’1997-12-02’ mysql>  SELECT DATE_ADD(’1992-12-31 23:59:59.000002’, -> INTERVAL ’1.999999’ SECOND_MICROSECOND); -> ’1993-01-01 00:00:01.000001’ Temporal arithmetic also can be performed in expressions using  INTERVAL  together with the  +  or  - operator: date + INTERVAL  expr unit date - INTERVAL  expr unit INTERVAL  expr unit  is permitted on either side of the  +  operator if the expression on the other side is a date or datetime value. For the  -  operator,  INTERVAL  expr unit  is permitted only on the right side, because it makes no sense to subtract a date or datetime value from an interval. mysql>  SELECT ’2018-12-31 23:59:59’ + INTERVAL 1 SECOND; -> ’2019-01-01 00:00:00’ mysql>  SELECT INTERVAL 1 DAY + ’2018-12-31’; -> ’2019-01-01’ mysql>  SELECT ’2025-01-01’ - INTERVAL 1 SECOND; -> ’2024-12-31 23:59:59’ The  EXTRACT()  function uses the same kinds of  unit  specifiers as  DATE_ADD()  or  DATE_SUB() , but extracts parts from the date rather than performing date arithmetic: mysql>  SELECT EXTRACT(YEAR FROM ’2019-07-02’); -> 2019 mysql>  SELECT EXTRACT(YEAR_MONTH FROM ’2019-07-02 01:02:03’); -> 201907 Temporal intervals can be used in  CREATE EVENT  statements: CREATE EVENT myevent ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO UPDATE myschema.mytable SET mycol = mycol + 1; If you specify an interval value that is too short (does not include all the interval parts that would be expected from the  unit  keyword), MySQL assumes that you have left out the leftmost parts of the interval value. For example, if you specify a  unit  of  DAY_SECOND , the value of  expr  is expected to have days, hours, minutes, and seconds parts. If you specify a value like  ’1:10’ , MySQL assumes that the days and hours parts are missing and the value represents minutes and seconds. In other words,  ’1:10’ 1918