Ich möchte nur das aktuelle Datum in DB2 in yyyymmdd
formatieren.
Ich sehe die verfügbaren Datumsformate, aber wie kann ich sie verwenden?
SELECT CURDATE() FROM SYSIBM.SYSDUMMY1;
Ich sehe keine einfache Möglichkeit, die oben aufgeführten Formate zu verwenden.
Irgendein Vorschlag?
SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD')
FROM SYSIBM.SYSDUMMY1
Sollte sowohl unter Mainframe als auch unter Linux/Unix/Windows DB2 funktionieren. Info-Center-Eintrag für VARCHAR_FORMAT()
.
Eine weitere Lösung REPLACE (CHAR (aktuelles Datum, ISO), '-', '')
Das ist nicht einfach, aber
SELECT CHAR(CURRENT DATE, ISO) FROM SYSIBM.SYSDUMMY1
gibt das aktuelle Datum im Format JJJJ-MM-TT zurück. Sie müssten das Ergebnis untergliedern und verketten, um yyyymmdd zu erhalten.
SELECT SUBSTR(CHAR(CURRENT DATE, ISO), 1, 4) ||
SUBSTR(CHAR(CURRENT DATE, ISO), 6, 2) ||
SUBSTR(CHAR(CURRENT DATE, ISO), 9, 2)
FROM SYSIBM.SYSDUMMY1
Aktuelles Datum ist in yyyy-mm-dd
Format. Sie können es mit der Funktion yyyymmdd
in das Format substring
konvertieren:
select substr(current date,1,4)||substr(current date,6,2)||substr(currentdate,9,2)