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