PostgreSQL - 替换表列中特定字符的所有实例

Posted

技术标签:

【中文标题】PostgreSQL - 替换表列中特定字符的所有实例【英文标题】:PostgreSQL - replace all instances of particular character in table columns 【发布时间】:2017-02-06 08:10:05 【问题描述】:

我有一个表article,其中包含titleauthorheadlinebodysubheadingabstract 等列。我正在尝试一次替换所有上述列中特定符号的所有实例(但不是在其他列中),但我必须说,处理 SQL 和数据库并不是我所知道的...

我在 *** 上找到了这一行,但是在将其编辑为我认为可行的内容后,我发现没有任何效果。我希望只从title 列开始查看结果:

UPDATE article SET title = replace(title, '<U+2029>', ' ');

但这并没有改变任何东西。

有人可以向我解释我做错了什么以及在 PostgreSQL 中写什么来获得我需要的东西吗?

【问题讨论】:

postgresql - replace all instances of a string within text field的可能重复 【参考方案1】:

如果这是一个 unicode 常量,那么你可以试试这个:

UPDATE article
    SET title = regexp_replace(title, U&'\2029', ' ', 'g');

这假定 2029 是字符的十六进制表示。

【讨论】:

参考:***.com/questions/15190078/… 谢谢,您让我免于手动编辑数千个条目!只有一件事:它应该是:...' ', 'g');,如果 g 周围没有撇号,则无法正常工作。

以上是关于PostgreSQL - 替换表列中特定字符的所有实例的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SQLAlchemy 核心选择除 postgresql 中的 1 个特定列之外的所有表列?

postgresql - 替换文本字段中字符串的所有实例

替换SQL Server表列中的文本

如何删除 Spark 表列中的空格(Pyspark)

PostgreSQL 常用函数

PostgreSQL 常用函数