Ivan Sergio Borgonovo wrote:
I'd expect this:

\copy tablename from 'filename.csv' WITH NULL as '' CSV HEADER

whould import "" as NULL.

The input file is UTF-8 (not Unicode/UTF-16).
I checked the hexdump and the "wannabe" NULL are actually
2c 22 22 2c -> ,"",

all fields are varchar that admit NULL

but still I get empty strings ('') in spite of NULL.

Am I missing something or it is a well known "feature"?

I went to the docs for COPY and they say,
The default is \N (backslash-N) in text mode, and a empty value with no quotes 
in CSV mode.

That "with no quotes" phrase caught my attention.

Try eliminating the double quotes in the CSV file.  "Wannabe" NULL would then be
  ,, (consecutive commas)
in the CSV. From the docs, you don't even need the "NULL AS" clause in your COPY statement.

--
Lew

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to