Verwenden Sie diese Zeile:
startDate TIMESTAMP := endDate - ($3 || ' MONTH')::INTERVAL;
und beachten Sie das Leerzeichen vor MONTH .Grundsätzlich:Sie konstruieren einen String wie 4 MONTH und caste es mit ::type in ein richtiges Intervall.
Bearbeiten :Ich habe eine andere Lösung gefunden:Sie können mit interval rechnen so:
startDate TIMESTAMP := endDate - $3 * INTERVAL '1 MONTH';
Das sieht für mich etwas schöner aus.