假设一个表是这样的
ID Desc
1 I am a boy
2 I am a boy xyz
3 I am a boy abc
4 xyzab I am a boy
5 life is beautiful
6 blank
现在我的要求就是连续发现“我是个男孩”这个短语会被删除,但部分的其余部分将保持不变。如果那个短语不在那里就没有变化。因此对于查询后的上表,它将如下所示
ID Desc
1 <blank>
2 xyz
3 abc
4 xyzab
5 life is beautiful
6 blank
答案 0 :(得分:2)
您可以尝试以下替换。请注意,我将替换后的描述列包装,以删除任何删除短语I am a boy
的空格。
UPDATE yourTable
SET Desc = TRIM(REPLACE(Desc, 'I am a boy', ''))
WHERE Desc LIKE '%I am a boy%'
WHERE
子句将UPDATE
操作限制为仅包含男孩字符串的记录。在这种特殊情况下,它可能是多余的。但通常添加WHERE
子句可以避免在没有更改时修改记录,从而节省时间。此外,一般情况下(虽然不是这里),{where {1}}子句甚至可以在where列具有索引时加速更新。
答案 1 :(得分:0)