MySQL的字符串截取之substring_index

字符串截取之substring_index
substring_index(str,delim,count)

  str:要处理的字符串

  delim:分隔符

  count:计数

例子:str=www.csdn.net

  substring_index(str,'.',1)

  结果是:www

  substring_index(str,'.',2)

  结果是:www.csdn

  也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容

  相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如:

  substring_index(str,'.',-2)

  结果为:csdn.net

 有人会为,如果我呀中间的的csdn怎么办?

 很简单的,两个方向:

  从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:

substring_index(substring_index(str,’.’,-2),‘.’,1);

说一下具体的使用案例:
我在需要对线上数据做修理的时候遇到过这个问题
需要对一段json数据做修理,其中就用到了这个字符串处理的函数
如下:

 CONCAT('http',SUBSTRING_INDEX(SUBSTRING_INDEX(cd.result, 'http',-1),'.pdf',1),'.pdf')

mysql的另一个函数 subStr
用法:substr(string string,num start,num length);
string为字符串;start为起始位置;length为长度。
注意:mysql中的start是从1开始的。

aa = www.baidu
例如 subStr(aa,1,locate(’.’,aa))
结果: www.
推荐的的地址
https://baijiahao.baidu.com/s?id=1575352322441637&wfr=spider&for=pc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值