Como adicionar e subtrair datas e horas no MySQL
Referência
Site oficial do MySQL Documentação do Produto Funções de data e horaDATE_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.