mysql开头替换的问题。

数据库code字段 分别有100 100100 200100 300200 300200100 这样的数据, 现在传入两个100和200,要求把开头为100的替换成200,结果就是 200 200100 200100。。这种,请问下sql语句。谢谢

img

update test set code= CONCAT('200',right(code,LENGTH(code)-LENGTH('100')))  where code like '100%'

img

还可以用正则替换

select regexp_replace('100100','(100)(.+)','200\\2')

img

有些mysql版本语法不一样,可能要改成

select regexp_replace('100100','(100)(.+)','200\$2')

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632