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

Snowflake加载含JSON字段的管道分隔TXT:去双引号方案

解决方案:处理Snowflake加载带双引号包裹的JSON列问题

方案1:加载时自动去除双引号(文件格式+COPY语句结合)

由于JSON内部的双引号会干扰FIELD_OPTIONALLY_ENCLOSED_BY的识别,我们可以通过基础文件格式配置+COPY时字段处理的方式解决:

  1. 创建适配管道分隔的文件格式:
CREATE OR REPLACE FILE_FORMAT pipe_txt_format
TYPE = CSV
FIELD_DELIMITER = '|'
TRIM_SPACE = TRUE;
  1. 执行COPY INTO时,对目标JSON列使用TRIM函数剔除首尾双引号:
COPY INTO your_target_table (col1, col2, json_column)
FROM (
    SELECT 
        $1, 
        $2, 
        TRIM($3, '"') -- 精准去除JSON列首尾的双引号
    FROM @your_stage/path/to/your_file.txt
)
FILE_FORMAT = pipe_txt_format;

方案2:已加载数据的UPDATE修正

如果数据已经导入表中,仅需针对JSON列去除首尾双引号,执行以下UPDATE语句:

UPDATE your_target_table
SET json_column = TRIM(json_column, '"')
WHERE json_column LIKE '"%"'; -- 仅处理首尾带双引号的行,避免无效操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:00:15