PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Adicionar meses a uma data no PostgreSQL


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