Das ist ja cool. Wenn man zum 31.08.2008 einen Monat dazuzählt, erhält man den 30.09.2008. Und wenn man davon wieder einen Monat abzieht, erhält man den 30.08.2008.
Das ist aber auch dokumentiert!!

Deshalb gibt es ja z.B. auch seit V5R4 die SQL-Funktion ADD_MONTHS. Wenn bei dieser Funktion das Ausgangsdatum ein Monatsende ist, ist auch das Ziel-Datum ein Monats-Ende. Ansonsten funktioniert die Funktion genauso wie wenn nur eine Anzahl Monate addiert wird.

Beim folgenden SQL-Statement ist das Ergebnis 31.08.2008.
PHP-Code:
select add_months(add_months(date('2008-08-31'), 1), -1)
from sysibm/sysdummy1 
Birgitta