Como adicionar ou subtrair dias de uma data no SQL?

As funções DATE_ADD, DATE_SUB e INTERVAL permitem somar ou subtrair dias de uma data no SQL, facilitando cálculos e manipulações temporais.

Como adicionar ou subtrair dias de uma data no SQL?

Manipular datas no SQL é essencial para cálculos de prazos, vencimentos e planejamentos. Diferentes bancos de dados oferecem funções específicas para adicionar ou subtrair dias de uma data.

Adicionando dias no MySQL com DATE_ADD

No MySQL, podemos adicionar dias a uma data com DATE_ADD():

SELECT DATE_ADD('2024-03-01', INTERVAL 7 DAY) AS nova_data;

Isso retorna a data "2024-03-08", adicionando 7 dias ao valor original.

Subtraindo dias no MySQL com DATE_SUB

Para subtrair dias de uma data no MySQL, usamos DATE_SUB():

SELECT DATE_SUB('2024-03-01', INTERVAL 10 DAY) AS nova_data;

Aqui, a data resultante será "2024-02-20".

Adicionando e subtraindo dias no PostgreSQL e SQL Server

No PostgreSQL e SQL Server, utilizamos o operador + INTERVAL:

SELECT '2024-03-01'::DATE + INTERVAL '7 days' AS nova_data;

Para subtrair dias:

SELECT '2024-03-01'::DATE - INTERVAL '10 days' AS nova_data;

Isso retorna a data corretamente ajustada.

Utilizando DATEADD no SQL Server

No SQL Server, a função DATEADD() é utilizada para operações com datas:

SELECT DATEADD(DAY, 5, GETDATE()) AS nova_data;

Isso adiciona 5 dias à data atual.

Cuidados ao manipular datas no SQL

  • Certifique-se de que o campo seja do tipo DATE, DATETIME ou TIMESTAMP para evitar erros.
  • Para cálculos mais complexos, como meses e anos, os bancos de dados oferecem funções adicionais, como MONTH() e YEAR().

A manipulação de datas no SQL é uma necessidade comum para sistemas que lidam com prazos, vencimentos e agendas. Desde o cálculo de juros em aplicações financeiras até a previsão de entregas em e-commerces, somar e subtrair dias de uma data permite automação e precisão nos registros. No SQL, cada banco de dados tem sua forma otimizada de realizar essas operações, garantindo que os cálculos sejam eficientes e confiáveis. Sempre que possível, valide as datas após a manipulação para evitar problemas em sistemas que lidam com múltiplos fusos horários.

Algumas aplicações:

  • Cálculo de vencimento de boletos e faturas
  • Determinação de prazos para entregas
  • Geração automática de datas futuras ou passadas
  • Planejamento de agendamentos em sistemas de reserva
  • Ajuste de datas para cálculos de juros e parcelas

Dicas para quem está começando

  • Use DATE_ADD() e DATE_SUB() no MySQL para manipular datas
  • No PostgreSQL, utilize + INTERVAL e - INTERVAL
  • SQL Server oferece DATEADD() para cálculos com datas
  • Para cálculos envolvendo meses, prefira ADD_MONTHS() (Oracle) ou DATE_TRUNC()
  • Garanta que as colunas manipuladas sejam do tipo DATE ou DATETIME

Contribuições de Fernando Albuquerque

Compartilhe este tutorial: Como adicionar ou subtrair dias de uma data no SQL?

Compartilhe este tutorial

Continue aprendendo:

Como converter uma data para outro formato no SQL?

As funções FORMAT(), TO_CHAR() e DATE_FORMAT() permitem converter datas para diferentes formatos no SQL, tornando-as mais legíveis e organizadas.

Tutorial anterior

Como pegar a data atual no SQL?

As funções NOW(), CURRENT_DATE e GETDATE() permitem obter a data e hora atual no SQL, sendo úteis para registros e cálculos temporais.

Próximo tutorial