Mysql怎样控制replace替换的次数?

Posted 码农编程进阶笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql怎样控制replace替换的次数?相关的知识,希望对你有一定的参考价值。

我想把“ABC是ABC”替换成“123是ABC”,也就是找出第一个ABC替换成123,mysql命令应该怎么写?

UPDATE data SET body=REPLACE(body, ‘ABC‘, ‘123‘);我用这个命令时会把所有ABC都替换成123,不知道怎么控制替换次数,请高人指教。
hemu780924大哥的代码虽然能用,但是有个致命的缺陷,

比如"123是ABC",如果想找出XYZ并替换成OPQ,因为在"123是ABC"找不到XYZ,然后命令就会在"123是ABC"前面插入XYZ,这个不是我想要的啊!


update table1 set body =
concat(
SUBSTRING(body ,1,position(‘ABC‘ in body )-1),
‘123‘,
substring(body ,position(‘ABC‘ in body )+length(‘ABC‘))) where body like ‘%ABC%‘
这里替换第一次的ABC ,没有ABC就不替换了












以上是关于Mysql怎样控制replace替换的次数?的主要内容,如果未能解决你的问题,请参考以下文章

str_replace 怎样才只替换一次 - 技术问答

Regexp_Replace 在 Oracle 中多次出现具有相同替换次数的字符

查找和替换整个mysql数据库

查找和替换整个mysql数据库

MYSQL语句中有空格如何解决?

mysql怎么批量替换首字符?