Postgresql中怎么把某列中的特定字符进行特定替换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postgresql中怎么把某列中的特定字符进行特定替换相关的知识,希望对你有一定的参考价值。

我想用命令把A表中的blooeydescr列中的1067替换成1099,不改变其它部分,感谢!

参考技术A update wtstatusinfo set blooeydescr=replace(blooeydescr,'1067','1087')本回答被提问者采纳

在 SQL 列中找到特定字符串后更新文本

【中文标题】在 SQL 列中找到特定字符串后更新文本【英文标题】:update text after finding a specific string in column SQL 【发布时间】:2017-06-12 12:25:02 【问题描述】:

我想在 PostgreSQL 数据库中的文本列类型中附加一个“文本”。 列中的文字是“您好,欢迎来到我的页面”。

我想在文本“Hello”之后附加一个文本作为“GuestName”;

结果输出应该是: “您好 GuestName 欢迎来到我的页面”。

谢谢 苏尼尔

【问题讨论】:

【参考方案1】:

Postgres 有overlay() 功能:

select overlay('Hello welcome to my page' placing 'GuestName' || ' ' from 7 for 0)

如果你想要做一些通用的东西,我会推荐replace()

select replace('Hello [GuestName] welcome to my page',
               '[GuestName]', 'GuestName')

设置这样的模板可以让您更灵活地构建字符串。

【讨论】:

【参考方案2】:

替换(字符串文本,从文本到文本)

UPDATE <table> SET <field> = replace(<field>, 'Hello ', 'Hello GuestName')

SELECT replace(<field>, 'Hello ', 'Hello GuestName') FROM <table>

【讨论】:

感谢 SAS,UPDATE SET = replace(, 'Hello ', 'Hello GuestName') 请接受/投票支持对您有帮助的解决方案。
【参考方案3】:
update your_table set column_name = replace(column_name,'Hello','Hello GuestName') 
where column_name = 'Hello welcome to my page';

【讨论】:

以上是关于Postgresql中怎么把某列中的特定字符进行特定替换的主要内容,如果未能解决你的问题,请参考以下文章

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

Mysql 怎么把某列查询的结果再后面拼接点汉字?

oracle 把某字段里面的特定字符,转换为回车换行符,请问怎么弄?

SQL如何批量更新某列中一个字符为另一个字符

在 SQL 列中找到特定字符串后更新文本

Oracle SQL 计算某列中的不同值