Hallo Simone,
Grundsätzlich könntest Du dieses Problem mit der Funktion VARCHAR_FORMAT(timestamp_expression, format_string) lösen. Statt CURRENT_DATE verwendest Du in diesem Fall CURRENT_TIMESTAMP. Datumsarithmetik ist im SQL-Dialekt von DB2 intuitiv gestaltet, somit kämst Du zu folgendem Ausdruck:
Wie bekommen ich am einfachsten mein Feld (ist ein normalen CHAR-Feld) mit dem Wert 200805 gefüllt ?
VARCHAR_FORMAT(CURRENT_TIMESTAMP - 1 MONTH, 'YYYYMM')
Was ich noch nicht weiß ist, wie ich den Tabellennamen und die betroffene Spalte ansprechen kann.
Ich habe es jetzt mal so probiert, geht aber nicht:
UPDATE Tabelle
SET Spalte = VARCHAR_FORMAT(CURRENT_TIMESTAMP - 1 MONTH, 'YYYYMM')
UPDATE
test
SET
vormonat = VARCHAR_FORMAT(CURRENT_TIMESTAMP - 1 MONTH, 'YYYYMM')
WHERE
ID = 5;
wird von meiner DB2 Express anstandslos verarbeitet. Dabei spielte es unerheblich, ob die Spalte vom Typ VARCHAR(6) oder CHARACTER(6) war.
Freundliche Grüße
Vinzenz
PS: Bitte keine Fullquotes.