Como adicionar e subtrair datas e horas no MySQL

Referência

Site oficial do MySQL Documentação do Produto Funções de data e hora

DATE_ADD e DATE_SUB

Essas duas funções são um par, uma é adição e a outra é subtração. Sua função é adicionar ou subtrair um período de tempo de uma data especificada. Para uso específico, consulte o exemplo a seguir. No primeiro exemplo, adicionamos um mês à hora atual e o segundo subtrai um mês da hora atual.

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

ADDDATE e SUBDATE

Essas duas funções também são um par, uma é adição e a outra é subtração. Seu uso é igual a DATE_ADD e DATE_SUB. Para uso específico, consulte o exemplo a seguir. No primeiro exemplo, adicionamos um mês à hora atual e o segundo subtrai um mês da hora atual.

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

Mais uso

Usamos apenas o mês como parâmetro no exemplo, no entanto, hora, minuto, segundo, semana, dia, ano também podem ser usados ​​como parâmetros e também podem oferecer suporte a minutos e segundos, horas e minutos e segundos e muito mais combinação. Para obter detalhes, consulte a lista abaixo.

            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'
        

outra informação

Na verdade, a subtração também pode usar DATE_ADD, só precisamos escrever o parâmetro como um número negativo. Além disso, MariaDB é um branch do MySQL e sua sintaxe SQL é basicamente a mesma, portanto, existem as quatro funções acima no MariaDB e o uso é exatamente o mesmo.