【问题标题】:Snowflake How to remove double quotes from the unloaded file from snowflake雪花如何从雪花中删除已卸载文件中的双引号
【发布时间】:2022-01-23 01:27:48
【问题描述】:

当我通过复制命令从雪花中卸载 Varchar255 记录时,它会添加双引号来分隔每条记录。我如何能够在没有双引号的情况下卸载记录

【问题讨论】:

  • 请添加一些示例代码和结果帮助我们调试
  • 所以 Varchar255 的列值是 Manchester United 007 当我这样做时它没有双引号存储:从表 file_format=(my_file_format) max_size=320000000 复制到 \@table 它在​​周围添加双引号记录为“曼联007”,我需要那些不带双引号的记录

标签: snowflake-cloud-data-platform


【解决方案1】:

您可以将 FIELD_OPTIONALLY_ENCLOSED_BY 参数设置为 '"' 以删除双引号:

https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html

FIELD_OPTIONALLY_ENCLOSED_BY :用于包围字符串的字符。 值可以是 NONE、单引号字符 (') 或双引号 字符 (")。要使用单引号字符,请使用八进制或十六进制 表示 (0x27) 或双单引号转义 ('')。

【讨论】:

    【解决方案2】:

    正如 Gokhan 所说,使用 FIELD_OPTIONALLY_ENCLOSED_BY。但请注意这里有一个重要的特殊用例:

    如果您的字段分隔符是逗号,并且您的字符串值是“Manchester United, 007” - 而不是“Manchester United 007”(里面没有逗号!) - 您的值仍将在卸载时使用引号导出文件。

    否则“Manchester United”将被视为一个字段值,而“007”将被视为另一个字段值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2020-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      相关资源
      最近更新 更多