在插入Snowflake表之前,我正在转义JSON。但是,如果JSON本身包含Snowflake转义引号($$(,它将失败。有办法绕过这个吗?如果我从JSON中删除"$$",那么它会成功插入,但我需要保留原始JSON。有没有办法在不删除$$字符的情况下解决这个问题?感谢
insert into yaml_files
select column1 as path,
parse_json(column2) as yaml
from values ('test',$${'example': 'blahblah','example2': 'asdf$$6lkj'}$$);
正如注释所指出的,可以对字符串使用单引号,而不是$$
。
再现错误:
select parse_json($${"a":"b$$c"}$$);
固定:
select parse_json('{"a":"b$$c"}');
如果字符串中有一个引号,请使用:对其进行转义
select parse_json('{"a":"b'$$c"}');
如果你使用的是parse_json,你能逃脱下面这样的$$符号吗?
`select parse_json($${"a":"b$$c"}$$);`
如果您使用python,只需替换"$"用"\$&";。