函数 用法
    DATE_ADD(datetime,INTERVAL expr type),ADDDATE(date,INTERVAL exper type) 返回与给定日期时间相差INTERVAL时间段的日期时间
    DATE_SUB(date,INTERVAL exper type),SUBDATE(date,INTERVAL exper type) 返回与date相差INTERVAL时间间隔的日期

    上述函数中type的取值:

    间隔类型 含义
    HOUR 小时
    MINUTE 分钟
    SECOND
    YEAR
    MONTH
    DAY
    YEAR_MONTH 年和月
    DAY_HOUR 日和小时
    DAY_MINUTE 日和分钟
    DAY_SECOND 日和秒
    HOUR_MINUTE 小时和分钟
    HOUR_SECOND 小时和秒
    MINUTE_SECOND 分钟和秒
    1. SELECT NOW(),DATE_ADD(NOW(),INTERVAL 1 YEAR),
    2. DATE_ADD(NOW(),INTERVAL -1 YEAR),
    3. DATE_SUB(NOW(),INTERVAL 1 YEAR)
    4. FROM DUAL;
    5. SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) AS col1,DATE_ADD('2021-10-21 23:32:12',INTERVAL 1 SECOND) AS col2,
    6. ADDDATE('2021-10-21 23:32:12',INTERVAL 1 SECOND) AS col3,
    7. DATE_ADD('2021-10-21 23:32:12',INTERVAL '1_1' MINUTE_SECOND) AS col4,
    8. DATE_ADD(NOW(), INTERVAL -1 YEAR) AS col5, #可以是负数
    9. DATE_ADD(NOW(), INTERVAL '1_1' YEAR_MONTH) AS col6 #需要单引号
    10. FROM DUAL;

    image.png

    1. SELECT ADDTIME(NOW(),20),SUBTIME(NOW(),30),SUBTIME(NOW(),'1:1:3'),DATEDIFF(NOW(),'2021-10-01'),
    2. TIMEDIFF(NOW(),'2021-10-25 22:10:10'),FROM_DAYS(366),TO_DAYS('0000-12-25'),
    3. LAST_DAY(NOW()),MAKEDATE(YEAR(NOW()),32),MAKETIME(10,21,23),PERIOD_ADD(20200101010101,10)
    4. FROM DUAL;