Tengo una relación que mantiene los datos históricos mensuales. Esta información se agrega a la tabla el último día de cada mes. Un servicio que estoy escribiendo se puede llamar especificando un mes y varios meses antes para recuperar los datos históricos. Estoy haciendo esto creando variables startDate y endDate, y luego devolviendo datos entre los dos. El problema que tengo es que startDate es una cantidad variable de meses antes de endDate, y no puedo entender cómo usar un período variable en un intervalo.Uso de un período variable en un intervalo en Postgres
Aquí es lo que tengo:
DECLARE
endDate TIMESTAMP := (DATE_TRUNC('MONTH',$2) + INTERVAL '1 MONTH') - INTERVAL '1 DAY';
startDate TIMESTAMP := endDate - INTERVAL $3 'MONTH';
sé que la línea de startDate no es correcto. ¿Cómo se hace esto correctamente?
Esto funcionó a la perfección. ¡Gracias por la ayuda! – Belizzle
O: 'endDate - '1 mon' :: interval * $ 3' (menos fundición y concatenación) –
Paralelo de pensamiento :-) –