MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

8 maneiras de adicionar dias a uma data no MariaDB


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.