postgresql Postgres SQL仅从字符串中删除非ASCII字符[重复]

b4wnujal  于 2022-12-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(133)

此问题在此处已有答案

how to replace non ascii characters with empty values(1个答案)
2天前关闭。
我们在Postgres中的数据如下,有可能在一个字符串中有多个非ASCII字符
| 姓名|
| - ------|
| 凯特解决方案|
| 易达解决方案|
我们尝试识别字符串中是否有任何非ASCII字符集,如果有,则将其全部删除(如果没有非ASCII字符集,则保持字符串原样),并期望输出低于output
| 姓名|
| - ------|
| 凯特解决方案|
| 易达解决方案|
尝试使用下面的SQL,但它只删除了一个非ASCII字符,无论它出现在什么位置

select REGEX_REPLACE(name,'[^ -~]', '') as new_name from table

感谢您的帮助!

hxzsmxv2

hxzsmxv21#

来自Postgresql文档:
如果给定了g标志,或者指定了N且N为零,则替换起始位置或其后的所有匹配项。(指定N时忽略g标志。)
因此,要么添加第4个参数为零,0,要么添加第6个参数为“g”。

相关问题