替换红移中的反斜杠

replace backslash in redshift

我正在使用 redshift 数据库中的字符串列,其中 \" 的实例在同一值中出现多次。 我想用 "

替换每次出现的 \"

例如,如果 string = \"name\"

我希望输出为 string = "name"

根据我的发现,redshift 不允许存在单个反斜杠,并会自动将其转换为双反斜杠,但在这种情况下不会发生这种情况。

我曾尝试将 REPLACE()REPLACE( string, '\"', '"' ) 一起使用,但没有任何效果。作为 JSON 字符串的字符串对 REPLACE() 的功能有任何影响吗?

我一直在尝试使用 regexp_replace 但也许我没有使用正确的正则表达式,因此我无法解决问题。

REPLACE( string, '\"', '"' ) 似乎适用于这种情况。我猜是因为 redshift 不允许使用单个反斜杠,而是将它们转换为双反斜杠。

因此,即使字符串看起来像 \"name\",它也可能存储为 \"name\",因此在替换中放置一个反斜杠不起作用。

编辑:请阅读比尔在此回复下方评论中的解释