wake-up-neo.com

DB2-Datumsformat

Ich möchte nur das aktuelle Datum in DB2 in yyyymmdd formatieren.

Ich sehe die verfügbaren Datumsformate, aber wie kann ich sie verwenden?

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.intro%2Fsrc%2Ftpc%2Fdb2z_datetimetimestamp.htm

SELECT CURDATE() FROM SYSIBM.SYSDUMMY1;

Ich sehe keine einfache Möglichkeit, die oben aufgeführten Formate zu verwenden.

Irgendein Vorschlag?

14
zod
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() .

31
bhamby

Eine weitere Lösung REPLACE (CHAR (aktuelles Datum, ISO), '-', '')

4
Joshua Balan

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
2

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)
1
albin