Commit ef961960 authored by Bruce Momjian's avatar Bruce Momjian

CSV NULL Documentation

Update docs to clearly explain NULL value matching behavior, per Andrew.

Backpatch to 8.4.X.
parent 87f4a26e
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/copy.sgml,v 1.88 2009/09/17 21:13:01 momjian Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/copy.sgml,v 1.89 2009/09/17 21:49:15 momjian Exp $
PostgreSQL documentation
-->
......@@ -550,10 +550,13 @@ COPY <replaceable class="parameter">count</replaceable>
<para>
The <literal>CSV</> format has no standard way to distinguish a
<literal>NULL</> value from an empty string.
<productname>PostgreSQL</>'s <command>COPY</> handles this using
quoting. A <literal>NULL</> is output as an empty string without
quotes, while an empty string data value is double-quoted
(<literal>""</>). Reading values follows similar rules. You can
<productname>PostgreSQL</>'s <command>COPY</> handles this by
quoting. A <literal>NULL</> is output as the <literal>NULL</>
parameter and is not quoted, while a non-NULL value matching the
the <literal>NULL</> parameter string is quoted. Therefore, using the default
settings, a <literal>NULL</> is written as an unquoted empty
string, while an empty string data value is written with double quotes
(<literal>""</>). Reading values follows similar rules. You can
use <literal>FORCE NOT NULL</> to prevent <literal>NULL</> input
comparisons for specific columns.
</para>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment