Re: COPY FROM and NULL AS does not work

From: Richard Huxton <dev(at)archonet(dot)com>
To: Arnaud Lesauvage <thewild(at)freesurf(dot)fr>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: COPY FROM and NULL AS does not work
Date: 2006-12-01 10:37:41
Message-ID: 457005F5.9080002@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Arnaud Lesauvage wrote:
> HI List,
>
> Trying to import data from a text file, with a semicolon as the
> delimiter, double-quotes as the quoting character.
>
> I would like empty strings to be inserted as NULL values in a varchar
> column. In the text file, they are writen as :
> <some columns>;"";<some columns>

I'm not sure you can do that. From the manuals:
"The CSV format has no standard way to distinguish a NULL value from an
empty string. PostgreSQL's COPY handles this by quoting. A NULL is
output as the NULL string and is not quoted, while a data value matching
the NULL string is quoted. Therefore, using the default settings, a NULL
is written as an unquoted empty string, while an empty string is written
with double quotes (""). Reading values follows similar rules. You can
use FORCE NOT NULL to prevent NULL input comparisons for specific columns."

Looks like you'll have to run a separate UPDATE query after the import
(or pre-process your input file).

--
Richard Huxton
Archonet Ltd

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Richard Huxton 2006-12-01 10:53:02 Re: Restoring database from files on disk
Previous Message Richard Huxton 2006-12-01 10:34:27 Re: Restoring database from files on disk