Ich möchte Daten aus einer Datei in eine vertikale Tabelle laden. Die Daten, die ich in der Datei erhalte 02-APR-17 11.06.31.000000 AM +00:00
, haben das Format, aber der Datentyp der Spalte ist timestamp(0)
und das erwartete Ausgabeformat ist4/2/2017 12:06:31.000000
Wenn dies Ihre Tabelle ist:
CREATE TABLE foo (
id INT NOT NULL
, ts TIMESTAMP(0)
, nm VARCHAR(32)
);
Und das sind Ihre Daten:
42;02-APR-17 11.06.31.000000 AM +00:00;Arthur Dent
43;14-APR-17 11.06.31.000000 PM +00:00;Ford Prefect
44;15-APR-17 09.06.31.000000 PM +00:00;Zaphod Beeblebrox
Versuchen Sie dann diesen COPY-Befehl, bei dem Sie FILLER und eine Ableitung verwenden:
COPY foo (
id
, ts_buf FILLER VARCHAR(40)
, ts AS TO_TIMESTAMP(ts_buf,'DD-MON-YY HH24:MI:SS.MS AM') AT TIME ZONE 'CST'
, nm
)
FROM '/home/dbadmin/data/foo.txt'
DELIMITER ';'
DIRECT
;
.. und das ist die Tabelle, die Sie erhalten:
SELECT * FROM foo;
id|ts |nm
42|2017-04-02 11:06:31|Arthur Dent
43|2017-04-14 23:06:31|Ford Prefect
44|2017-04-15 21:06:31|Zaphod Beeblebrox
Ist es das, wonach Sie gesucht haben?
Prost - Marco der Gesunde
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen