当前位置:网站首页>Mysql怎样控制replace替换的次数?

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

2022-07-07 11:47:00 全栈程序员站长

我想把“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就不替换了

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113283.html原文链接:https://javaforall.cn

原网站

版权声明
本文为[全栈程序员站长]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/2042693