mysql 中TRIM解决某个字段中含多个相同字符问题

想批量删除word字段这一列中文前面的顿号,怎么删除呢?如下:(只是其中的一条数据)

解决思路如下:

1、先找到指定替换的函数,TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

2、怎么使用该函数?百度一下(因为不是能记住所有的mysql函数,查一下,会灵活调用就可以了)

解析:返回字符串 str , 其中所有remstr前缀和/或后缀都已被删除。若分类的BOTH、LEADIN或TRAILING中没有一个是给定的,则假设为BOTH。remstr为可选项,在未指定情况下,可删除空格。

BOTH:是删除【指定字符】左边跟右边的目标值

LEADIN:是删除【指定字符】左边的目标值

TRAILING:是删除【指定字符】右边的目标值

实例如下:(参照这个实例更容易理解)

理解TRIM能干啥之后,引入到自己的问题中:

实际需求:

要删除每一行数据中的指定字符,共400条数据,如:

目标:批量去掉【酒水】前面的顿号

调用TRIM函数解决:

update 表 set word = TRIM(LEADIN '、' from word) where id in ('id1','id2','id3','id4','id5'...)  #注:id为唯一标识

误区:千万不要把from后面跟表名,from在TRIM中就是一个固定的结构,后面需要跟目标值或者是目标字段(想把哪个字段的值进行更改)

感悟:挺好用的一个函数,在mysql中。

扩展用法(转的):

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值