Dann verwende doch die SQL-Funktion ADD_MONTHS(Datum, AnzMonate).
Wenn das Ausgangsdatum ein Monatsende ist, wird das Zieldatum auch ein Monatsende sein, unabhängig ob das Monatsende des Ausgangsdatum der 28, 29, 30 oder 31 ist.
Ist das Ausgangsdatum kein Monatsende, so wird die Anzahl der Monate addiert. Existiert das rechnerische Zieldatum nicht, z.B. auf den 31.01 wird ein Monat addiert, so wird das Monatsende im Ziel-Monat verwendet.
Code:
Exec SQL Set :NewDate = Add_Months(:StartDate, 3);
Um sicherzustellen, dass das Ausgangsdatum immer ein Monatsende ist, kann man zusätzlich noch die Funktion LAST_DAY verwenden
Code:
Exec SQL Set :NewDate = Add_Months(Last_Day(:StartDate), 3);
Bookmarks