码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-05-21 17:55:14      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:cat   text   class   应该   插入   ring   bst   div   tab   

我想把“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替换的次数?

标签:cat   text   class   应该   插入   ring   bst   div   tab   

原文地址:https://www.cnblogs.com/lxwphp/p/9068216.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!