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

Subtrair anos de uma data no PostgreSQL


No PostgreSQL, podemos usar o - operador para subtrair um ou mais anos de uma data.

Exemplos


Podemos especificar intervalos ao subtrair de datas. Por exemplo, podemos usar year ou years para subtrair um ou mais anos de uma data:
SELECT date '2030-01-20' - interval '1 year';

Resultado:
2029-01-20 00:00:00

E no plural:
SELECT date '2030-01-20' - interval '5 years';

Resultado:
2025-01-20 00:00:00

Especificado em meses


Também podemos usar o número equivalente em meses (ou semanas ou dias):
SELECT date '2030-01-20' - interval '12 months';

Resultado:
2029-01-20 00:00:00

Também podemos usar um inteiro ao especificá-lo em dias:
SELECT date '2030-01-20' - 365;

Resultado:
2029-01-20

Ou assim:
SELECT date '2030-01-20' - integer '365';

Resultado:
2029-01-20

Adicionando valores negativos


Alternativamente, podemos adicionar um valor negativo à data. Nesse caso, podemos usar um valor negativo com o + sinal:

Exemplo:
SELECT date '2030-01-20' + interval '-7 years';

Resultado:
2023-01-20 00:00:00

Podemos fazer a mesma coisa com a opção integer:
SELECT date '2030-01-20' + integer '-365';

Resultado:
2029-01-20