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.