Formatierung Datum im format YYYYMM in DB2
Ich bin immer ein Datum als String aus einer Tabelle im format:
2014-09-02
ist YYYY-MM-DD format.
Die Abfrage:
SELECT VALUE FROM MYSCHEMA.MYTABLE WHERE CODE = 'MYDATE'
Möchte ich ändern obige Abfrage so, dass das Ergebnis ist:
201402
Habe ich versucht, diese, aber nicht immer im richtigen format:
select char(year(date(value))) || char(month(date(value))) from MYSCHEMA.MYTABLE WHERE CODE = 'MYDATE'
Dem Ergebnis kommt:
1
------------
2014 9
Habe ich db2 9.5 mit mir.
Wenn es schon einen string, warum die Mühe der Konvertierung in
Der Wert, den Sie bekommen angezeigt, zu vertreten, 2. September 2014. Die, die Sie sagen, Sie wollen abzubilden scheint. Februar 2014. Sind Sie sicher?
Sie nicht ausgewählt haben, eine Antwort, hast du eine Lösung gefunden?
DATE
wenn Sie können, verwenden Sie einfach SUBSTR()
? Sowieso, versuchen Sie TRIM()
rund um die beiden CHAR()
Anrufe.Der Wert, den Sie bekommen angezeigt, zu vertreten, 2. September 2014. Die, die Sie sagen, Sie wollen abzubilden scheint. Februar 2014. Sind Sie sicher?
Sie nicht ausgewählt haben, eine Antwort, hast du eine Lösung gefunden?
InformationsquelleAutor Vicky | 2014-10-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie eigentlich immer ein
DATE
Daten geben (und selbst wenn Sie es nicht sind, in das ISO-format, die Sie dort haben, DB2, sollten intelligent genug sein, zu konvertieren es automatisch), dann kann Ihnen derVARCHAR_FORMAT
Skalare Funktion:InformationsquelleAutor bhamby
Wenn alle Zeichenfolgen werden in der exakt gleichen format, warum nicht einfach entfernen Sie die Bindestriche mit REPLACE() und dann schnappen Sie sich einen substring, etwa so:
Auch, als Dan sagte, in Ihrem Beispiel, dass Sie nur ausgewählte Jahr und Tag, aber ich gehe davon aus Ihrem code, den Sie möchten, das Jahr und der Monat.
InformationsquelleAutor Emily Goetz