是否可以用 PostgreSQL 的 varchar 字段中的另一个字符(以 unicode 表示)替换所有出现的给定字符(以 unicode 表示)?
我试过这样的:
UPDATE mytable
SET myfield = regexp_replace(myfield, '\u0050', '\u0060', 'g')
但它似乎真的在字段中写入字符串 '\u0060' 而不是该代码对应的字符。
最佳答案
根据PostgreSQL documentation on lexical structure ,你应该使用 U&
语法:
UPDATE mytable
SET myfield = regexp_replace(myfield, U&'\0050', U&'\0060', 'g')
您还可以使用 PostgreSQL 特定的转义字符串形式 E'\u0050'
。这将适用于比 unicode 转义形式更旧的版本,但 unicode 转义形式更适用于新版本。这应该显示发生了什么:
regress=> SELECT '\u0050', E'\u0050', U&'\0050';
?column? | ?column? | ?column?
----------+----------+----------
\u0050 | P | P
(1 row)
关于postgresql - 替换 PostgreSQL 中的 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15190078/