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

6 maneiras de adicionar um ano a uma data no MariaDB


O MariaDB fornece várias maneiras de adicionar um ano ou um certo número de anos a uma determinada data. Por exemplo, você pode querer adicionar 1 ano, 10 anos, 30 anos, etc.

Aqui estão 6 maneiras de adicionar um ano a uma data no MariaDB.

O DATE_ADD() Função


O DATE_ADD() A função permite adicionar um valor a uma data. Por exemplo, você pode adicionar um número de dias, semanas, meses, anos etc.

Exemplo:
SELECT DATE_ADD('2021-05-01', INTERVAL 1 YEAR); 

Resultado:
+-----------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 1 ANO) |+------------------------------------------------ -------+| 2022-05-01 |+------------------------------------------+ 
Não existe uma regra que diga que só pode ser 1 ano. Você pode adicionar vários anos. De qualquer forma, o YEAR palavra-chave permanece não plural:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 YEAR); 

Resultado:
+------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 10 YEAR) |+------------------------------------------------ --------+| 2031-05-01 |+-----------------------------------------------------+ 

Também é possível usar outra unidade de data/hora com o número apropriado dessa unidade. No entanto, essa abordagem deve ser usada com cautela, pois pode resultar em resultados inesperados.

Exemplo:
SELECT 
    DATE_ADD('2021-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2021-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2021-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2021-05-01', INTERVAL 1 YEAR) AS Years; 

Resultado:
+------------+------------+------------+------- -----+| Dias | Semanas | Meses | Anos |+------------+------------+------------+-------- ----+| 01-05-2022 | 30-04-2022 | 01-05-2022 | 2022-05-01 |+------------+------------+------------+---- --------+

Nesse caso, adicionar 52 semanas teve um resultado diferente de usar 365 dias, 12 meses e 1 ano.

Se avançarmos a data alguns anos, teremos ainda mais inconsistência:
SELECT 
    DATE_ADD('2023-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2023-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2023-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2023-05-01', INTERVAL 1 YEAR) AS Years; 

Resultado:
+------------+------------+------------+------- -----+| Dias | Semanas | Meses | Anos |+------------+------------+------------+-------- ----+| 30-04-2024 | 29-04-2024 | 01-05-2024 | 01-05-2024 |+------------+------------+------------+---- --------+

Desta vez usando MONTH e YEAR retorna o mesmo resultado, mas DAY e WEEK retorna duas datas diferentes, ambas diferentes do MONTH e YEAR resultados.

O ADDDATE() Função


Outra maneira de adicionar um ano a uma data é usar o ADDDATE() função. Esta função tem duas sintaxes. Uma sintaxe permite adicionar um número de dias a uma data. A outra sintaxe é a mesma do DATE_ADD() função acima. Ao usar esta sintaxe, ADDDATE() é um sinônimo para DATE_ADD() .

Exemplo:
SELECT ADDDATE('2021-05-01', INTERVAL 1 YEAR); 

Resultado:
+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 1 ANO) |+------------------------------------------------ ------+| 01-05-2022 |+-------------------------------------------------------+ 

O DATE_SUB() Função


O DATE_SUB() 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 DATE_SUB('2021-05-01', INTERVAL -1 YEAR); 

Resultado:
+------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -1 ANO) |+------------------------------------------------ ---------+| 2022-05-01 |+-----------------------------------------------------+ 

O SUBDATE() Função


O SUBDATE() função é sinônimo de DATE_SUB() ao usar a sintaxe a seguir.

Exemplo:
SELECT SUBDATE('2021-05-01', INTERVAL -1 YEAR); 

Resultado:
+-----------------------------------------+| SUBDATE('2021-05-01', INTERVAL -1 ANO) |+--------------------------------- --------+| 2022-05-01 |+------------------------------------------+ 

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 anos à nossa data.

Exemplo:
SELECT '2021-05-01' + INTERVAL 1 YEAR; 

Resultado:
+--------------------------------+| '2021-05-01' + INTERVALO 1 ANO |+--------------------------------+| 01-05-2022 |+--------------------------------+

O - Operador


O - pode ser usado para subtrair um valor de uma data. Mas se for usado para subtrair um número negativo, o resultado será um valor positivo sendo adicionado à data:
SELECT '2021-05-01' - INTERVAL -1 YEAR; 

Resultado:
+---------------------------------+| '2021-05-01' - INTERVAL -1 ANO |+---------------------------------+| 01-05-2022 |+---------------------------------+

Outras unidades de data e hora


Os exemplos acima adicionam vários anos à data, mas podemos usar as mesmas técnicas para adicionar qualquer unidade de data/hora. 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.