postgresql - 替换 PostgreSQL 中的 unicode 字符

标签 postgresql unicode replace sql-update

是否可以用 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/

相关文章:

postgresql - 分析将文件上传到 postgreSQL 中的 API 时产生的错误

sql - Postgresql:检查模式是否存在?

winapi - Win32 API 中的 `A` 和 `W` 函数有什么区别?

python - 如何在 pytables 中创建可以存储 Unicode 字符串的压缩数据集?

javascript - 如何以不区分大小写的方式查找和替换字符串的一部分?

performance - PostgreSQL Simple JOIN 很慢

java - Spring - JdbcTemplate - 使用 CTE 和枚举行进行查询

c# - 从记事本保存和检索数据时遇到奇怪的事情

html - Dreamweaver 中的 RegEx 查找/替换 - 将 HTML 粘贴为变量?

java - 在 Java 中替换字符串忽略大小写