String in Datumswert umwandeln

MysterioJN

SQL-Guru
Beiträge
158
Tach zusammen,

in der Datenbank unseres "Dienstleisters" wird das Datum z.B. wie folgt in einem varchar-Feld geführt:

20170131

Für Kalenderabragen benötige ich leider das Datum "richtig gestellt". Sprich aus 20170131 soll 31.01.2017 werden.


Kann ich ihm irgendwie mitteilen, das Position (von links) 1-4 das Jahr ist, dann Position 5 & 6 der Monat und 7 & 8 der Tag?

Beste Grüße
Marco



EDIT:
Mit dem Jahr oder dem Tag komme ich klar (LEFT/RIGHT), aber wie komme ich an die Mittelzahlen?
 
Zuletzt bearbeitet:
Werbung:
Gibt es keine analoge Funktion wie in PostgreSQL?

Code:
test=*# select to_date('20170131','yyyymmdd');
  to_date   
------------
 2017-01-31
(1 Zeile)

test=*#
 
Werbung:
Ok hab es herausgefunden.

SUBSTRING(Spalte, AB welcher Position, Wieviele Stellen)

Sprich
(20170131, 1 , 4) = 2017
(20170131, 5 , 2) = 01
(20170131, 7 , 2) = 31

Da mach ich mir ein Concat draus und Formatiere es in Date.

Danke aber für den Anstoß!
 
Zurück
Oben