Ich stieß auf eine Spalte, die Datumsangaben (als Text gespeichert) in 2 verschiedenen Formaten enthält. Um to_date() zu verwenden, muss das Format angegeben werden, damit es nur mit einigen von ihnen funktioniert.Konvertieren zu Datum, wenn verschiedene Formate in der gleichen Spalte
Gibt es eine Möglichkeit, beide Formate parallel mit einem SELECT zu konvertieren?
created_at | id
---------------------------+---------
2015-08-27 04:59:40 -0400 | 9993833
2015-08-27T03:40:07+12:00 | 9984557
2015-08-26 03:04:35 -0400 | 9980626
2015-08-26T13:11:51+12:00 | 9978784
2015-08-26T06:18:04+12:00 | 9974751
2015-08-25 00:21:47 -0400 | 9965448
2015-08-24T15:01:09+12:00 | 9952732
2015-08-23 22:47:32 -0400 | 9952671
2015-08-24T12:49:57+12:00 | 9952099
2015-08-24T12:04:04+12:00 | 9951839
2015-08-23T17:49:24+12:00 | 9948236
2015-08-23T11:37:53+12:00 | 9947015
2015-08-21 03:13:16 -0400 | 9934367
2015-08-21T18:36:18+12:00 | 9934148
2015-08-21T17:23:30+12:00 | 9933522
2015-08-21T15:33:50+12:00 | 9932949
2015-08-20 12:06:37 -0400 | 9927425
2015-08-21T03:16:58+12:00 | 9926932
Es wäre möglich, einen CASE ... WANN konstruieren, vorausgesetzt postgresql unterstützt es. – Michal
Was willst du, nur den Datumsteil oder den ganzen Zeitstempel? – jarlh
Diese Formate sind nicht so unterschiedlich, postgresql kann sie automatisch identifizieren, sie einfach in 'Zeitstempel mit Zeitzone' umwandeln, z. 'wähle created_at :: timestamptz'. – pozs