En PostgreSQL, podemos usar -
operador para restar uno o más años de una fecha.
Ejemplos
Podemos especificar intervalos al restar de fechas. Por ejemplo, podemos usar year
o years
para restar uno o más años de una fecha:
SELECT date '2030-01-20' - interval '1 year';
Resultado:
2029-01-20 00:00:00
Y en forma plural:
SELECT date '2030-01-20' - interval '5 years';
Resultado:
2025-01-20 00:00:00
Especificado en meses
También podemos usar el número equivalente en meses (o semanas o días para el caso):
SELECT date '2030-01-20' - interval '12 months';
Resultado:
2029-01-20 00:00:00
También podemos usar un número entero al especificarlo en días:
SELECT date '2030-01-20' - 365;
Resultado:
2029-01-20
O así:
SELECT date '2030-01-20' - integer '365';
Resultado:
2029-01-20
Adición de valores negativos
Alternativamente, podemos agregar un valor negativo a la fecha. En este caso, podemos usar un valor negativo con el +
firmar:
Ejemplo:
SELECT date '2030-01-20' + interval '-7 years';
Resultado:
2023-01-20 00:00:00
Podemos hacer lo mismo con la opción de número entero:
SELECT date '2030-01-20' + integer '-365';
Resultado:
2029-01-20