En PostgreSQL, podemos usar - operador para restar uno o más meses de una fecha.
Ejemplos
Podemos especificar intervalos al restar de fechas. Por ejemplo, podemos usar month o months para restar uno o más meses de una fecha:
SELECT date '2040-03-18' - interval '1 month'; Resultado:
2040-02-18 00:00:00
Y en forma plural:
SELECT date '2040-03-18' - interval '6 months'; Resultado:
2039-09-18 00:00:00
Especificado en Días
También podemos usar el número equivalente en días (o incluso semanas):
SELECT date '2040-06-20' - interval '31 days'; Resultado:
2040-05-20 00:00:00
También podemos usar un número entero al especificarlo en días:
SELECT date '2040-06-20' - 31; Resultado:
2040-05-20
O así:
SELECT date '2040-06-20' - integer '31'; Resultado:
2040-05-20
Adición de valores negativos
También podemos agregar valores negativos a las fechas. En este caso, podemos usar un valor negativo con el + firmar:
Ejemplo:
SELECT date '2040-06-20' + interval '-6 months'; Resultado:
2039-12-20 00:00:00
Podemos hacer lo mismo con la opción de número entero:
SELECT date '2040-06-20' + integer '-31'; Resultado:
2040-05-20