Aritmética DATE do PostgreSQL (+)
As funções aritméticas de data do PostgreSQL permitem que você realize cálculos com valores de data e hora, como adicionar ou subtrair intervalos de datas. Essas funções são essenciais para operações que exigem manipulações dinâmicas de datas, como o cálculo de datas futuras ou passadas.
Uso
A aritmética de datas é usada quando você precisa ajustar datas adicionando ou subtraindo intervalos, como dias, meses ou anos. A sintaxe envolve o uso do operador +
ou -
para adicionar ou subtrair intervalos de datas.
sql
SELECT date_column + interval 'value unit';
SELECT date_column - interval 'value unit';
Nessa sintaxe, date_column
é a data que você está ajustando e 'value unit'
especifica a quantidade e a unidade de tempo a ser adicionada ou subtraída.
Exemplos
1. Adicionando dias a uma data
sql
SELECT '2023-10-15'::date + interval '5 days';
Este exemplo adiciona 5 dias à data 2023-10-15
, resultando em 2023-10-20
.
2. Subtração de dias de uma data
sql
SELECT '2023-10-15'::date - interval '5 days';
Este exemplo subtrai 5 dias da data 2023-10-15
, resultando em 2023-10-10
.
3. Como adicionar meses a uma data
sql
SELECT '2023-10-15'::date + interval '2 months';
Aqui, 2 meses são adicionados a 2023-10-15
, o que resulta em 2023-12-15
.
4. Adição de intervalos mistos
sql
SELECT '2023-10-15'::date + interval '1 year 3 months 10 days';
Este exemplo adiciona uma combinação de 1 ano, 3 meses e 10 dias a 2023-10-15
, resultando em 2025-01-25
. O PostgreSQL processa esses intervalos sequencialmente, da esquerda para a direita.
Dicas e práticas recomendadas
- Use intervalos explícitos. Defina claramente os intervalos usando tanto o valor quanto a unidade (por exemplo,
'5 days'
). - Observe os anos bissextos. Tenha cuidado com os cálculos relativos a anos bissextos, especialmente ao adicionar anos ou meses.
- Combine com outras funções de data. Use a aritmética de data em conjunto com outras funções de data do PostgreSQL para manipulações complexas de data.
- Teste em vários fusos horários. Se o seu aplicativo operar em vários fusos horários, teste a aritmética de datas para garantir resultados consistentes. O PostgreSQL lida com carimbos de data e hora com reconhecimento de fuso horário, ajustando automaticamente as diferenças de fuso horário.