You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake中ESCAPE=NONE配置不生效问题求助

解决Snowflake导入CSV.gz时反斜杠被转义的问题

你的问题出在只设置了ESCAPE=NONE,但Snowflake对未被引号包裹的字段有单独的转义控制参数ESCAPE_UNENCLOSED_FIELD,默认值是反斜杠,所以即使你关掉了带引号字段的转义,未包裹字段里的反斜杠还是会被当成转义符处理。

直接修改你的COPY语句,在FILE_FORMAT里加上ESCAPE_UNENCLOSED_FIELD=NONE即可:

COPY INTO TABLE_NAME 
  FROM @stage_name
    FILE_FORMAT = ( 
      TYPE = CSV, 
      COMPRESSION = GZIP, 
      ESCAPE= NONE,
      ESCAPE_UNENCLOSED_FIELD = NONE,
      FIELD_DELIMITER=',',
      SKIP_HEADER=1,
      FIELD_OPTIONALLY_ENCLOSED_BY='"',
      EMPTY_FIELD_AS_NULL = TRUE, 
      NULL_IF=('')
    ),
    PATTERN = 'my_pattern',
    ON_ERROR = 'CONTINUE'

测试这个配置后,示例数据里的R2\ 会被完整导入,不会把反斜杠当成转义符吃掉后面的空格。

补充说明:如果数据里有被引号包裹的字段且内部包含反斜杠,ESCAPE=NONE已经确保这些反斜杠不会被转义;而未包裹字段的转义逻辑由ESCAPE_UNENCLOSED_FIELD控制,设置为NONE就完全禁用了未包裹字段的转义行为。

内容的提问来源于stack exchange,提问作者yagmurkoksal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 11:48:09