永发信息网

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

答案:3  悬赏:70  手机版
解决时间 2021-03-13 01:50
我想把“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就不替换了
全部回答
update 表的名称 set 替换字段=replace ( 替换字段, mid(替换字段,10,instr(替换字段," ",,12)-1), '新内容') 中间的函数取出要修改的域名部分。 解释下 10是域名开始的一个字母 截止位数是查找第二个空格的位数减1 之间的就是要替换的内容。
可以加一个条件达到类似随机的效果。 比如某个列的数字被多少整除,或者某个列包涵什么字符。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
弥勒旅游景点有哪些
【照顾自己】“我们应该学会照顾自己”怎么翻
微信号怎么注销
蓝枫的相对应的情侣名
春贺堂地址在哪,我要去那里办事
540除多少等于7于数是50怎么做
十(十8)的相反数是什么,求详解
睡一觉起来会脸肿手肿是怎么回事
保险财产遭受部分损失获得赔偿后,保险人应出
芷的繁体字怎么写
16为什么在衡阳这边是不吉利的数字
怎样背古诗又熟又快
有一辆卡车在路上行驶,一头猪眼瞅着就往车里
牙齿打桩做冠后四个月仍然后不适,能拆掉吗
关于买车或者换车的问题
推荐资讯
对自己女儿的尊称是什么
crowley是什么意思?
泥土是什么元素
【实例变量】关于实例变量类变量局部变量参数
某自然牙列个体,前伸咬合时前牙接触后牙无接
邦豆有谁用过?祛痘效果怎样?说的太神了,不
奔跑吧兄弟第一季金钟国是哪一期
有车e族汽车影音地址在什么地方,想过去办事
盖香居地址有知道的么?有点事想过去
急求去过南奥西冲和葵涌 玫瑰海岸的环境及消
一种美容院拍黑头的产品,求产品名称
pax为什么表示人数
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?