在 SQL 列中找到特定字符串后更新文本
Posted
技术标签:
【中文标题】在 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,UPDATEupdate your_table set column_name = replace(column_name,'Hello','Hello GuestName')
where column_name = 'Hello welcome to my page';
【讨论】:
以上是关于在 SQL 列中找到特定字符串后更新文本的主要内容,如果未能解决你的问题,请参考以下文章