如何通过命令行配置SnowSQL文件格式,保留反斜杠为数据而非分隔符
SnowSQL文件格式配置:让反斜杠作为普通数据加载,仅用竖线(|)作为字段分隔符
核心解决方案
要让反斜杠仅作为普通数据字符,完全忽略其转义功能,只以竖线作为字段分隔符,你需要调整CSV文件格式的转义相关参数,具体命令组合如下:
CREATE OR REPLACE FILE FORMAT Piped_CSV_FORMAT TYPE = CSV FIELD_DELIMITER = '|' ESCAPE_UNENCLOSED_FIELD = NONE ESCAPE = '' QUOTE = '"' -- 若数据无引号包裹字段,可设为NONE或删除该行 SKIP_HEADER = 1 -- 根据你的数据文件是否有表头调整 ;
参数说明
FIELD_DELIMITER = '|':明确指定竖线为唯一的字段分隔符,优先级最高ESCAPE_UNENCLOSED_FIELD = NONE:直接禁用未被引号包裹字段的转义逻辑,反斜杠不会再被用来转义后续的分隔符ESCAPE = '':将转义字符设为空字符串,彻底取消转义机制,确保任何场景下反斜杠都被当作普通数据QUOTE = '"':如果你的数据用双引号包裹字段,该参数会确保引号内的竖线和反斜杠都被当作字段内容处理,不会触发分隔或转义
问题根源排查
后续检查Piped_CSV_STG记录后确认,之前的配置失效是因为该记录创建时使用的命令存在参数冲突——比如同时设置了ESCAPE = '\'(将反斜杠设为转义字符)和其他矛盾参数,导致反斜杠被错误地赋予了转义分隔符的功能。
内容的提问来源于stack exchange,提问作者Eric Ness
相关产品推荐
相关产品推荐

