Netezza CSV 加载忽略值内的逗号
Posted
技术标签:
【中文标题】Netezza CSV 加载忽略值内的逗号【英文标题】:Netezza CSV load ignore comma within value 【发布时间】:2018-09-21 11:20:24 【问题描述】:我在 Netezza 中加载 CSV 文件。此文件中的一列具有如下值:$500,000-$749,999
。
即使此值用双引号括起来,Netezza 也不会忽略逗号。它会抛出一个 错误,例如 - expected end of row, "999"
。
文件中此字段之后还有两列。我尝试添加 EscapeChar ','
但它再次给出了 Delimeter 和 EscapeChar 不能具有相同字符的错误 .
有没有人遇到过类似的问题?
解决方法:
我可以在我的表中再添加 2 两列,但是如果字段中没有逗号值,它将失败。
【问题讨论】:
感谢@JanSršeň 格式化问题:) 解决方法的一个更新:我添加了 2 列并执行了将数据加载到表中的命令。该命令运行良好,没有任何问题。我使用了 FillRecord 选项,它假定某些记录缺少最后 2 列,并用 NULL 填充它们。我将数据存储在一个临时表中,然后根据需要填充主表。我在开发环境中做到了这一点。解决方案会更有帮助,因为我在 Prod 中没有此解决方法选项。 【参考方案1】:尝试将 QuotedValue 选项设置为 DOUBLE
https://www.ibm.com/support/knowledgecenter/en/SSULQD_7.2.1/com.ibm.nz.load.doc/r_load_quotedvalue.html
此外,如果您的所有列都被引用,您还可以将 requirequotes 选项设置为 true
https://www.ibm.com/support/knowledgecenter/en/SSULQD_7.2.1/com.ibm.nz.load.doc/r_load_requirequotes.html
【讨论】:
谢谢@PaulVernon。它与 QuotedValue 选项一起使用。以上是关于Netezza CSV 加载忽略值内的逗号的主要内容,如果未能解决你的问题,请参考以下文章