Re: How do I COPY empty Datetimes? - Mailing list pgsql-sql

From Tom Lane
Subject Re: How do I COPY empty Datetimes?
Date
Msg-id 10377.911674876@sss.pgh.pa.us
Whole thread Raw
In response to How do I COPY empty Datetimes?  (f.ermini@telemaco.it)
Responses Re: [SQL] Re: How do I COPY empty Datetimes?  (Postgres DBA <postgres@nest.bistbn.com>)
List pgsql-sql
f.ermini@telemaco.it writes:
> Hi all. I have a problem here. I have to automatize the periodical COPY
> of a large set of ASCII data in a postgres database. The parser digests
> everything I put in there, with an exception: if there is a DateTime
> field that is empty, the copy of the field fails for a "Invalid datetime
> format". The field isn't a NOT NULL one, so I have to accept also empty
> values... I've tried with the sequence '', "", or simply /t/t (tab is
> the field separator in those ASCII data), but the output has always been
> the same.

There's no such thing as an "empty" value of datetime.  What you can
put in is a NULL, which is not a datetime at all, but an indicator that
the field has no data in this particular table row.  NULLs work for any
data type.  The syntax for a NULL field in COPY is "\N".  (Simply
leaving the field blank, as you were trying to do, isn't good enough
since there would be no way to distinguish an empty text field from a
NULL text field.)

For example, here are a couple of rows of COPY data from a database of
my own.  There are four datetime columns in the table, and these rows
have different subsets of the four non-null (as well as nulls in several
other columns):

37    16    16    Fri Nov 13 17:00:07 1998 EST    EDF    29    S    7343    \N    s    7100    100    f    I    188
MonNov 16 07:46:38 1998 EST    \N    \N    \N    \N 
63    8    8    Thu Nov 12 16:00:10 1998 EST    EDF    49    s    11353    \N    S    12408    100    f    C    189
\N   \N    Mon Nov 16 07:46:45 1998 EST    \N    \N 

Apologies if your mailer mangles the data --- there are supposed to be
two long lines with tabs in them.

            regards, tom lane

pgsql-sql by date:

Previous
From: anil
Date:
Subject: Inheritance
Next
From: Herouth Maoz
Date:
Subject: Re: [SQL] optimizing 2-table join w/millions of rows