Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带两个空字符串的PostgreSQL复制CSV_Postgresql_Csv_Null - Fatal编程技术网

带两个空字符串的PostgreSQL复制CSV

带两个空字符串的PostgreSQL复制CSV,postgresql,csv,null,Postgresql,Csv,Null,我有一个来自web查询的csv文件源,其中包含一个字符串的两个变体,在复制到PostgreSQL表时,我希望将该字符串分类为NULL e、 g 我知道这个查询会抛出一个错误,所以我正在寻找一种方法,在复制CSV查询中指定两个单独的空字符串?我认为在这种情况下,最好的选择是,因为COPY不支持多个NULL字符串,所以将NULL字符串参数设置为其中一个,然后,一旦全部加载完毕,执行UPDATE,该操作将在任何列中设置值,您希望将另一个NULL字符串设置为实际的NULL值(确切的查询将取决于哪些列可以

我有一个来自web查询的csv文件源,其中包含一个字符串的两个变体,在复制到PostgreSQL表时,我希望将该字符串分类为NULL

e、 g


我知道这个查询会抛出一个错误,所以我正在寻找一种方法,在复制CSV查询中指定两个单独的空字符串?

我认为在这种情况下,最好的选择是,因为
COPY
不支持多个
NULL
字符串,所以将
NULL
字符串参数设置为其中一个,然后,一旦全部加载完毕,执行
UPDATE
,该操作将在任何列中设置值,您希望将另一个
NULL
字符串设置为实际的
NULL
值(确切的查询将取决于哪些列可以具有这些值)


如果有一组列,则可以在
SET
子句中使用
CASE
语句返回
NULL
,如果它与特殊字符串匹配,或者返回其他值<还可以使用code>NULLIF(这样会更紧凑)。e、 g.
NULLIF(col1,'Not application')
我认为在这种情况下,您最好的选择是,因为
COPY
不支持多个
NULL
字符串,所以将
NULL
字符串参数设置为其中一个,然后在加载完所有字符串后,执行
UPDATE
,该操作将在任何列中设置值,您希望将另一个
NULL
字符串设置为实际的
NULL
值(确切的查询将取决于哪些列可以具有这些值)

如果有一组列,则可以在
SET
子句中使用
CASE
语句返回
NULL
,如果它与特殊字符串匹配,或者返回其他值<还可以使用code>NULLIF(这样会更紧凑)。e、 g.
NULLIF(col1,‘不适用’)

NULLIF也可以使用(这样会更紧凑)。e、 g.NULLIF(col1,‘不适用’)-这是一种很好的干净方式。也可以使用manifuld.NULLIF(这将更加紧凑)。e、 g.NULLIF(col1,‘不适用’)-这是一种很好的干净方式。非常感谢。
COPY my_table FROM STDIN WITH CSV DELIMITER AS ',' NULL AS ('N/A', 'Not applicable');