On Wed, 10 Nov 2004, Sharon Schooley wrote:
> I am new to Postgresql. I'm trying to load tables from SQLServer bcp
> export, comma delimited. I'm loading datetime datatype into timestamp.
> I've loaded one table successfully and failed on others with the same
> error:
> Bad timestamp external representation ''.
>
> The table that loaded successfully had datetime data in the exact same
> format as this one. I have taken this file apart and successfully loaded
> it one or two fields at a time, including the datetime fields (into
> timestamp) but it will not load as is. I've changed the delimiter to \t
> and tried \. at the end. I've changed the field types from timestamp to
> char(25) and it loaded fine. I tried to create another table and cast to
> timestamp from char. That's not allowed.
>
> Any help will be appreciated.
>
> Here is the version, the table description, the COPY stmt with error,
> and the input file(it's only one row).
>
> ems=# select version();
> PostgreSQL 7.3.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.3.1 (SuSE Linux)
>
> ems=# \d edadvisor_char;
> Table "public.edadvisor_char"
>
> advisor1 | character varying(60)
> whenent1 | timestamp without time zone
> advisor2 | character varying(60)
> whenent2 | timestamp without time zone
> advisor3 | character varying(60)
> whenent3 | timestamp without time zone
> advkey | character(1)
> whenchange | timestamp without time zone
> bhhwhenchange | timestamp without time zone
> bmhwhenchange | timestamp without time zone
> kmcwhenchange | timestamp without time zone
> merwhenchange | timestamp without time zone
> sjhwhenchange | timestamp without time zone
>
>
> ems=# copy edadvisor_char from '/home/xxxxxx/test_data.txt' using delimiters ',';
> ERROR: copy: line 1, Bad timestamp external representation ''
> ems=#
>
> ****** test_data.txt ********
Breaking it up:
advisor1
> Off E.D. Rotation,
whenent1
> 2004-09-01 00:00:01.000,
advisor2
> testing,
whenent2
> 2004-09-01 00:00:06.000,
advisor3
>,
whenent3
>,
whenent3 is getting an empty string for its date and that's not allowed.
If you want empty strings in the file to be treated as null, you can use
NULL AS ''.