Hallo,
Ich muß in eine Tabelle grundsätzlich den Vormonat (inkl. Jahr) in diesem Format einstellen: JJJJ.MM
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:
VARCHAR_FORMAT(CURRENT_TIMESTAMP - 1 MONTH, 'YYYY.MM')
Wie bekommen ich am einfachsten mein Feld (ist ein normalen CHAR-Feld) mit dem Wert 200805 gefüllt ?
Möchtest Du nun JJJJ.MM oder JJJJMM? Falls letzteres, so lasse im Formatstring einfach den Punkt weg:
VARCHAR_FORMAT(CURRENT_TIMESTAMP - 1 MONTH, 'YYYYMM')
Mit DB2 habe ich normalerweise nichts zu tun, aber der Code ist getestet und liefert die gewünschten Ergebnisse.
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
Danke für Deine Antwort.
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')
-> Fehler im 2.Argument...
:-(