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 oINTERVAL
palavra-chave, seguida pelo número de dias, seguido peloDAY
palavra-chave.
OINTERVAL
palavra-chave é usada para adicionar ou subtrair um intervalo de tempo a umDATETIME
,DATE
ouTIME
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 serMONTH
,YEAR
,TIME
, etc, bem como um número de unidades compostas.
O
DATE_ADD()
Função
ODATE_ADD()
função funciona da mesma forma queADDDATE()
ao usar a sintaxe detalhada. Na verdade, ao usar a sintaxe detalhada,ADDDATE()
é um sinônimo paraDATE_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
OSUBDATE()
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
OSUBDATE()
função também tem a sintaxe mais detalhada (semelhante aoADDDATE()
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 oDATE_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 oADDTIME()
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 usarSUBTIME()
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. UsamosDAY
como a unidade de data/hora, mas como mencionado, poderia facilmente serMONTH
,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.