假设我有一张这样的桌子:
text_col
---------------
apple, pear
apple/orange, pear~pear|pear
kiwi banana
pear\kiwi
我想pear
将此列中的所有内容更改为watermelon
.
我能想到的只是select
所有有 的行,pear
并且一一对应。update
pear
watermelon
有更好/更清洁的方法吗?
我正在尝试创建一个 plpgsql 触发器函数来实现这一点。
假设我有一张这样的桌子:
text_col
---------------
apple, pear
apple/orange, pear~pear|pear
kiwi banana
pear\kiwi
我想pear
将此列中的所有内容更改为watermelon
.
我能想到的只是select
所有有 的行,pear
并且一一对应。update
pear
watermelon
有更好/更清洁的方法吗?
我正在尝试创建一个 plpgsql 触发器函数来实现这一点。
替换功能呢?
功能
替换(字符串文本,从文本到文本)
描述
将子字符串中的所有出现替换为子字符串
样本
替换('abcdefabcdef', 'cd', 'XX') abXXefabXXef
对于您的代码是一个简单的更新:
Update table T set text_col = replace( text_col, 'pear', 'watermelon' );
更新了由于 Igor Romanchenko 的建议:
Update table T
set text_col = replace( text_col, 'pear', 'watermelon' )
where text_col like '%pear%';
从表名中选择 replace(text_col,'pear','watermelon')