批量更新数据库中指定字段内某个字符串的值

最近工作上遇到了一个问题,需要将存在sql里面的text属性的字段里面的某个特定值批量改为另一个值,当时的第一想法竟然是用java代码取出来后批量更改再更新进去,觉得这个方法效率太低了,于是翻阅了一下sql,(原谅答主以前没遇到过这样的需求,第一时间没想到用sql来解决),知道了用replace函数来解决这一问题,不多说直接上图:
在这里插入图片描述
需求是将retry_data里面的addressCity的null值刷成固定的城市名称,比如上海,这时我们可以用replace函数轻松的解决这个批量修改的需求。

`UPDATE lop_retry_order SET retry_data = REPLACE(retry_data,'"addressCity":null','"addressCity":"上海"');`

运行以上代码就可以将所有的addressCity对应的地址改为"上海",我们看下运行之后的结果:在这里插入图片描述
已经将所有addressCity为null的值改成了’上海’。我们现在来看下replace函数:

`update `表名` set  `字段名` =replace( `字段名`,'字符串1','字符串2');`

这段sql表示的就是用字符串2替换指定字段中出现的所有字符串1的匹配项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值