Podemos usar el - operador para restar una o más semanas de una fecha en PostgreSQL.
Ejemplos
Podemos especificar intervalos al restar de fechas. Para restar semanas, podemos usar week o weeks :
SELECT date '2040-01-17' - interval '1 week'; Resultado:
2040-01-10 00:00:00
Y en forma plural:
SELECT date '2040-01-17' - interval '5 weeks'; Resultado:
2039-12-13 00:00:00
Especificado en Días
Otra forma de hacerlo es especificar el número en su equivalente diario:
SELECT date '2040-01-17' - interval '7 days'; Resultado:
2040-01-10 00:00:00
También podemos usar un número entero al especificarlo en días:
SELECT date '2040-01-17' - 7; Resultado:
2040-01-10
O así:
SELECT date '2040-01-17' - integer '7'; Resultado:
2040-01-10
Adición de valores negativos
También podemos agregar valores negativos a las fechas. Para restar una cantidad negativa, podemos usar el valor negativo con el + firmar:
Ejemplo:
SELECT date '2040-01-17' + interval '-5 weeks'; Resultado:
2039-12-13 00:00:00
Podemos hacer lo mismo con la opción de número entero:
SELECT date '2040-01-17' + integer '-35'; Resultado:
2039-12-13