PostgreSQL - 替换 table 列中特定字符的所有实例
PostgreSQL - replace all instances of particular character in table columns
我有 table article
,其中包含 title
、author
、headline
、body
、subheading
等列, abstract
, 还有一些。我试图一次替换所有上述列中特定符号的所有实例(但不是在其他列中)但我必须说,在 SQL 和数据库上工作并不是我所了解的...
我在 Whosebug 上找到了这一行,但是在将其编辑为我认为可行的内容后,我看不到任何效果。我希望从 title
列开始查看结果:
UPDATE article SET title = replace(title, '<U+2029>', ' ');
但它并没有改变任何东西。
有人可以向我解释我做错了什么以及在 PostgreSQL 中写什么来得到我需要的东西吗?
如果这是一个 unicode 常量,那么你可以试试这个:
UPDATE article
SET title = regexp_replace(title, U&'29', ' ', 'g');
这假设 2029 是字符的 十六进制 表示。
我有 table article
,其中包含 title
、author
、headline
、body
、subheading
等列, abstract
, 还有一些。我试图一次替换所有上述列中特定符号的所有实例(但不是在其他列中)但我必须说,在 SQL 和数据库上工作并不是我所了解的...
我在 Whosebug 上找到了这一行,但是在将其编辑为我认为可行的内容后,我看不到任何效果。我希望从 title
列开始查看结果:
UPDATE article SET title = replace(title, '<U+2029>', ' ');
但它并没有改变任何东西。
有人可以向我解释我做错了什么以及在 PostgreSQL 中写什么来得到我需要的东西吗?
如果这是一个 unicode 常量,那么你可以试试这个:
UPDATE article
SET title = regexp_replace(title, U&'29', ' ', 'g');
这假设 2029 是字符的 十六进制 表示。