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.
Um sicherzustellen, dass das Ausgangsdatum immer ein Monatsende ist, kann man zusätzlich noch die Funktion LAST_DAY verwendenCode:Exec SQL Set :NewDate = Add_Months(:StartDate, 3);
BirgittaCode:Exec SQL Set :NewDate = Add_Months(Last_Day(:StartDate), 3);
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten

Bookmarks