我正在使用 pgloader 从.csv文件导入,该文件在双引号中有空字符串。样本行是
12334,0," MAIL"" CA"""" Sanfransisco"" TX&#34 ;,""""""
导入成功后,带有双引号("")的字段在postgres数据库中显示为两个单引号('')。
我们是否可以插入空字符串或空字符串代替两个单引号('')?
我正在使用参数 -
WITH truncate,
fields optionally enclosed by '"',
fields escaped by double-quote,
fields terminated by ','
SET client_encoding to 'UTF-8',
work_mem to '12MB',
standard_conforming_strings to 'on'
我尝试使用' empty-string-to-null'在这样的文档中提到 -
CAST column enumerate.fax using empty-string-to-null
但它给我一个错误说 -
pgloader nph_opr_addr.test.load一个未处理的错误情况 信号:在LOAD CSV
^(第1行,第0列,第0位)无法解析子表达式";" 解析时
答案 0 :(得分:0)
使用字段选项:
null if blanks
这样的事情:
...
having fields foo, bar, mynullcol null if blanks, baz
如果
,则为null此选项接受一个参数,该参数可以是关键字空格或双引号字符串。
当使用空白并且读取的字段值仅包含空格字符时,它会自动转换为SQL NULL值。
当使用双引号字符串并将该字符串作为字段值读取时,字段值将自动转换为SQL NULL值