0

假设我有一张这样的桌子:

text_col
---------------
apple, pear
apple/orange, pear~pear|pear
kiwi banana
pear\kiwi

我想pear将此列中的所有内容更改为watermelon.

我能想到的只是select所有有 的行,pear并且一一对应。update pearwatermelon

有更好/更清洁的方法吗?

我正在尝试创建一个 plpgsql 触发器函数来实现这一点。

4

2 回答 2

2

替换功能呢?

功能

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

描述

将子字符串中的所有出现替换为子字符串

样本

替换('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%';
于 2013-07-31T08:46:25.123 回答
0

从表名中选择 replace(text_col,'pear','watermelon')

于 2013-07-31T09:30:45.307 回答