O MariaDB fornece várias maneiras de adicionar um certo número de dias a uma determinada data. Por exemplo, você pode querer adicionar 10 dias a uma data, ou 30 dias, ou mesmo apenas 1 dia. Felizmente, o MariaDB torna isso fácil.
Aqui estão 8 maneiras de adicionar um número de dias a uma determinada data no MariaDB.
O ADDDATE() Função
Vamos começar com o
ADDDATE() função. Esta função tem duas sintaxes diferentes. A primeira sintaxe fornece uma maneira concisa de adicionar um certo número de dias a uma data.
Exemplo:
SELECT ADDDATE('2021-05-01', 10); Resultado:
+---------------------------+| ADDDATE('2021-05-01', 10) |+----------------------------+| 11/05/2021 |+------------------------------------------+ Usando essa sintaxe, fornecemos dois argumentos. O primeiro argumento é a data e o segundo é o número de dias a serem adicionados a essa data.
O ADDDATE() Função – Sintaxe 2
O
ADDDATE() função também tem uma sintaxe mais detalhada. Essa sintaxe nos permite ser mais explícitos em como adicionamos os dias à data. Exemplo:
SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY); Resultado:
+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 10 DAY) |+------------------------------------------------ ------+| 2021-05-11 |+---------------------------------------------------+
Neste caso, usamos o INTERVAL palavra-chave, seguida pelo número de dias, seguido pelo DAY palavra-chave.
O INTERVAL palavra-chave é usada para adicionar ou subtrair um intervalo de tempo a um DATETIME , DATE ou TIME valor. Podemos usá-lo em datas, juntamente com a unidade de data/hora aplicável para adicionar um certo número de dias à nossa data. No nosso caso, a unidade de data/hora é DAY , mas poderia facilmente ser MONTH , YEAR , TIME , etc, bem como um número de unidades compostas.
O DATE_ADD() Função
O DATE_ADD() função funciona da mesma forma que ADDDATE() ao usar a sintaxe detalhada. Na verdade, ao usar a sintaxe detalhada, ADDDATE() é um sinônimo para DATE_ADD() .
Exemplo:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 DAY);
Resultado:
+-----------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 10 DAY) |+------------------------------------------------ -------+| 2021-05-11 |+------------------------------------------+ O SUBDATE() Função – Sintaxe 1
O SUBDATE() função permite subtrair uma quantia para uma data. No entanto, se você fornecer um valor negativo para subtrair, ele acaba sendo adicionado à data.
Exemplo:
SELECT SUBDATE('2021-05-01', -10);
Resultado:
+----------------------------+| SUBDATE('2021-05-01', -10) |+----------------------------+| 11/05/2021 |+-------------------------------------------+ O SUBDATE() Função – Sintaxe 2
O SUBDATE() função também tem a sintaxe mais detalhada (semelhante ao ADDDATE() função).
Exemplo:
SELECT SUBDATE('2021-05-01', INTERVAL -10 DAY);
Resultado:
+-----------------------------------------+| SUBDATE('2021-05-01', INTERVAL -10 DAY) |+--------------------------------- --------+| 2021-05-11 |+------------------------------------------+ O DATE_SUB() Função
Aqui está um exemplo que usa o DATE_SUB() função:
SELECT DATE_SUB('2021-05-01', INTERVAL -10 DAY);
Resultado:
+------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -10 DAY) |+--------------------------------- ---------+| 2021-05-11 |+-----------------------------------------------------+ O + Operador
Outra opção é usar o + operador.
O + operador é usado para realizar a adição, e podemos usá-lo em datas, juntamente com a unidade de data/hora aplicável para adicionar um certo número de dias à nossa data.
Exemplo:
SELECT '2021-05-01' + INTERVAL 10 DAY;
Resultado:
+--------------------------------+| '2021-05-01' + INTERVALO 10 DIAS |+--------------------------------+| 11/05/2021 |+--------------------------------+
O - Operador
O - pode ser usado para subtrair um valor de uma data. No entanto, se você subtrair um número negativo, um valor positivo será adicionado à data:
SELECT '2021-05-01' - INTERVAL -10 DAY;
Resultado:
+---------------------------------+| '2021-05-01' - INTERVALO -10 DIAS |+---------------------------------+| 2021-05-11 |+---------------------------------+
BÔNUS:O ADDTIME() Função
Eu disse que este artigo contém 8 maneiras de adicionar dias a uma data, mas aqui estão algumas funções de bônus! Talvez eu devesse ter chamado este artigo de “10 maneiras de adicionar dias a um valor de data e hora”.
De qualquer forma, você pode usar o ADDTIME() função para adicionar um número de dias a uma expressão de data e hora.
Exemplo:
SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0');
Resultado:
+-------------------------------------------+| ADDTIME('2021-05-01 10:30:45', '1 0:0:0') |+------------------------ -------------------+| 2021-05-02 10:30:45 |+------------------------------------------------- -----+
Você também pode alterar as outras unidades de tempo, como horas, minutos, segundos, etc.
Você pode alternar e usar SUBTIME() com um valor negativo se assim o desejar:
SELECT SUBTIME('2021-05-01 10:30:45', '-1 0:0:0');
Resultado:
+--------------------------------------------+| SUBTIME('2021-05-01 10:30:45', '-1 0:0:0') |+----------------------- ----------+| 2021-05-02 10:30:45 |+------------------------------------------------- ------+ Outras unidades de data e hora
Os exemplos acima adicionam um número de dias à data, mas podemos usar as mesmas técnicas para adicionar qualquer unidade de data/hora. Usamos DAY como a unidade de data/hora, mas como mencionado, poderia facilmente ser MONTH , YEAR , TIME , etc, bem como qualquer uma das unidades compostas.
Consulte Unidades de data e hora do MariaDB para obter uma lista completa de unidades de data/hora que podem ser usadas com as funções e o operador acima.