gpt4 book ai didi

sql - PostgreSQL 中的正则表达式替换

转载 作者:行者123 更新时间:2023-11-29 11:30:59 25 4
gpt4 key购买 nike

我有一个表,其中一个特定的字符串字段通常包含单引号和双引号的 unicode:分别为 \u0027\u0022。事实证明,我其实更需要他们逃脱。我需要在它们前面放一个额外的 \

例如,我需要将\u0027Hello, world\u0027更改为\\u0027Hello, world\\u0027

什么样的 SQL 可以对所有记录的表执行这种更新?

最佳答案

如果你真的需要这个,那么你可以使用这样的回复:

UPDATE table SET c = regexp_replace(c, '[^\\]\\(u\d{4})', '\\\\\1', 'g');

确保启用了 standard_conforming_strings 并将 regex_flavor 设置为高级。

SHOW standard_conforming_strings;
standard_conforming_strings
-----------------------------
on
(1 row)

替换字符串 '\\\\\1' 表示后面的两个反斜杠 \\\1 表示第一个(报告)带括号的子表达式(即 'u' 与模式中的四位数字连接)。

关于sql - PostgreSQL 中的正则表达式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com