Cómo sumar y restar fechas y horas en MySQL

Referencia

Sitio web oficial de MySQL Documentación del producto Funciones de fecha y hora

DATE_ADD y DATE_SUB

Estas dos funciones son un par, una es suma y la otra es resta. Su función es sumar o restar un período de tiempo a la fecha especificada. Para un uso específico, consulte el siguiente ejemplo. En el primer ejemplo, agregamos un mes a la hora actual, y el segundo resta un mes a la hora actual.

            SELECT DATE_ADD(now(), INTERVAL 1 MONTH);
SELECT DATE_SUB(now(), INTERVAL 1 MONTH);
        

ADDDATE y SUBDATE

Estas dos funciones también son un par, una es suma y la otra es resta. Su uso es el mismo que el de DATE_ADD y DATE_SUB. Para un uso específico, consulte el siguiente ejemplo. En el primer ejemplo, agregamos un mes a la hora actual, y el segundo resta un mes a la hora actual.

            SELECT ADDDATE(now(), INTERVAL 1 MONTH);
SELECT SUBDATE(now(), INTERVAL 1 MONTH);
        

Más uso

Solo usamos el mes como parámetro en el ejemplo, sin embargo, la hora, el minuto, el segundo, la semana, el día, el año también se pueden usar como parámetros, y también pueden admitir minutos y segundos, horas y minutos y segundos y más. combinación. Para obtener más información, consulte la lista a continuación.

            MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND 'SECONDS.MICROSECONDS'
MINUTE_MICROSECOND 'MINUTES:SECONDS.MICROSECONDS'
MINUTE_SECOND 'MINUTES:SECONDS'
HOUR_MICROSECOND 'HOURS:MINUTES:SECONDS.MICROSECONDS'
HOUR_SECOND 'HOURS:MINUTES:SECONDS'
HOUR_MINUTE 'HOURS:MINUTES'
DAY_MICROSECOND 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS'
DAY_SECOND 'DAYS HOURS:MINUTES:SECONDS'
DAY_MINUTE 'DAYS HOURS:MINUTES'
DAY_HOUR 'DAYS HOURS'
YEAR_MONTH 'YEARS-MONTHS'
        

otra información

De hecho, la resta también puede usar DATE_ADD, solo necesitamos escribir el parámetro como un número negativo. Además, MariaDB es una rama de MySQL, y su sintaxis SQL es básicamente la misma, por lo que existen las cuatro funciones anteriores en MariaDB, y el uso es exactamente el mismo.