mysql replace 中文_MYSQL 批量替换之replace语法的使用详解

实际需求中,需要对某张表某字段里面的内容进行批量替换,普通的思考流程如下:

SELECT出来

str_replace替换

UPDATE写入

实际这样极其浪费资源以及消耗资源,MYSQL内置了一个批量替换的语法

复制代码代码如下:

UPDATE table SET field = replace(field,'被替换','替换成')

直接就替换了,后面也可以跟WHERE 条件语句

支持多个词同时被替换

复制代码代码如下:

UPDATE table SET field = replace(field,'被替换1','替换成1'),field = replace(field,'被替换2','替换成2')

很强大吧,后面那个一次性更换多个网上是没有的列子,现在记录下来

生产实例:

第一个语法返回substr在字符串str 的第一个出现的位置。第二个语法返回子符串 substr 在字符串str,从pos处开始的第一次出现的位置。如果substr 不在str 中,则返回值为0 。

update ns_exchange_gift set exchange_code = replace(exchange_code,'89','98') where locate('89',exchange_code)<>0

-- select * from ns_exchange_gift where locate('89',exchange_code)<>0

-- select * from ns_exchange_gift where locate('00',exchange_code)<>0 or locate('02',exchange_code)<>0

多词替换(含有'00'或者含有'02'):

update ns_exchange_gift set exchange_code = replace(exchange_code,'00','11'),exchange_code=REPLACE(exchange_code,'02','20')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值