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