替换红移中的反斜杠
replace backslash in redshift
我正在使用 redshift 数据库中的字符串列,其中 \"
的实例在同一值中出现多次。
我想用 "
替换每次出现的 \"
例如,如果 string = \"name\"
我希望输出为 string = "name"
根据我的发现,redshift 不允许存在单个反斜杠,并会自动将其转换为双反斜杠,但在这种情况下不会发生这种情况。
我曾尝试将 REPLACE()
与 REPLACE( string, '\"', '"' )
一起使用,但没有任何效果。作为 JSON 字符串的字符串对 REPLACE()
的功能有任何影响吗?
我一直在尝试使用 regexp_replace
但也许我没有使用正确的正则表达式,因此我无法解决问题。
REPLACE( string, '\"', '"' )
似乎适用于这种情况。我猜是因为 redshift 不允许使用单个反斜杠,而是将它们转换为双反斜杠。
因此,即使字符串看起来像 \"name\"
,它也可能存储为 \"name\"
,因此在替换中放置一个反斜杠不起作用。
编辑:请阅读比尔在此回复下方评论中的解释
我正在使用 redshift 数据库中的字符串列,其中 \"
的实例在同一值中出现多次。
我想用 "
\"
例如,如果 string = \"name\"
我希望输出为 string = "name"
根据我的发现,redshift 不允许存在单个反斜杠,并会自动将其转换为双反斜杠,但在这种情况下不会发生这种情况。
我曾尝试将 REPLACE()
与 REPLACE( string, '\"', '"' )
一起使用,但没有任何效果。作为 JSON 字符串的字符串对 REPLACE()
的功能有任何影响吗?
我一直在尝试使用 regexp_replace
但也许我没有使用正确的正则表达式,因此我无法解决问题。
REPLACE( string, '\"', '"' )
似乎适用于这种情况。我猜是因为 redshift 不允许使用单个反斜杠,而是将它们转换为双反斜杠。
因此,即使字符串看起来像 \"name\"
,它也可能存储为 \"name\"
,因此在替换中放置一个反斜杠不起作用。
编辑:请阅读比尔在此回复下方评论中的解释