No PostgreSQL, podemos usar o
+
operador para adicionar um ou mais meses a uma data. Existem várias opções quando se trata de especificar o número real de meses. Exemplos
O Postgres nos permite especificar intervalos ao adicionar datas. Podemos, portanto, especificar
month
ou months
:SELECT date '2030-01-20' + interval '1 month';
Resultado:
2030-02-20 00:00:00
E no plural:
SELECT date '2030-01-20' + interval '6 months';
Resultado:
2030-07-20 00:00:00
Especificado em dias
Também podemos usar o número equivalente em dias (ou semanas):
SELECT date '2030-01-20' + interval '31 days';
Resultado:
2030-02-20 00:00:00
Obviamente, se isso corresponde ou não ao número exato de meses dependerá do número real de dias ou semanas especificado.
Alternativamente, podemos usar um inteiro ao especificá-lo em dias:
SELECT date '2030-01-20' + 31;
Resultado:
2030-02-20
Também podemos fazer assim:
SELECT date '2030-01-20' + integer '31';
Resultado:
2030-02-20
Valores negativos
Também podemos realizar aritmética de datas com valores negativos. Se usarmos um valor negativo com o
+
sinal, então o número especificado de meses será subtraído da data. Mas se usarmos com o -
assinar, então ele será adicionado à data. Exemplo:
SELECT date '2030-01-20' - interval '-6 months';
Resultado:
2030-07-20 00:00:00
Podemos fazer a mesma coisa com a opção integer:
SELECT date '2030-01-20' - integer '-181';
Resultado:
2030-07-20