Använd denna rad:
startDate TIMESTAMP := endDate - ($3 || ' MONTH')::INTERVAL;
och notera utrymmet före MONTH
.I grund och botten:Du konstruerar en sträng med typ 4 MONTH
och casta den med ::type
i ett lämpligt intervall.
Redigera :Jag har hittat en annan lösning:Du kan beräkna med interval
så här:
startDate TIMESTAMP := endDate - $3 * INTERVAL '1 MONTH';
Det här ser lite trevligare ut för mig.