假设我有一张这样的表:
text_col
---------------
apple, pear
apple/orange, pear~pear|pear
kiwi banana
pear\kiwi
我想将此列中的所有pear
更改为watermelon
。
所有我能想到的是select
逐行pear
和update
pear
到watermelon
的所有行。
有更好/更清洁的方法吗?
我正在尝试创建一个plpgsql触发器函数来实现此目的。
答案 0 :(得分:2)
replace功能呢?
<强>功能强>
替换(字符串文本,从文本到文本)
<强>描述强>
将子串字符串中出现的所有内容替换为子字符串
<强>示例强>
替换('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%';
答案 1 :(得分:0)
从tablename
中选择replace(text_col,'pear','watermelon')