Re: CSV From Oracle with timestamp column getting errors
Victor Yegorov <vyegorov@gmail.com>
From: Victor Yegorov <vyegorov@gmail.com>
To: "Saha, Sushanta K" <sushanta.saha@verizonwireless.com>
Cc: pgsql-general <pgsql-general@postgresql.org>
Date: 2021-03-22T20:47:08Z
Lists: pgsql-general
пн, 22 мар. 2021 г. в 21:38, Saha, Sushanta K <
sushanta.saha@verizonwireless.com>:
> \COPY table1 FROM '/tmp/Oracle_2020_06.csv' DELIMITER ',' CSV HEADER;
> ERROR: invalid input syntax for type timestamp: "01-JUN-20
> 06.04.20.634000 AM"
> CONTEXT: COPY table1, line 2, column last_update_timestamp: "01-JUN-20
> 06.04.20.634000 AM"
>
> Appreciate any help with this psql command.
>
I would recommend issuing one of these on the Oracle side *before* taking
the CSV snapshot.
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
ALTER SESSION SET nls_date_format='YYYY-MM-DD HH24:MI:SS';
Otherwise, you have to load this CSV file in a table, that has `text` type
for the column and do a post-processing,
smth like:
INSERT INTO permanent_tab
SELECT *, to_timestamp(col, 'DD-MON-YY HH12.MI.SS.SSSSS AM') FROM
temp_table;
Hope this helps.
--
Victor Yegorov