mysql 实现 substring+lastindexof 的方法

首先需要使用到的方法有SUBSTRING(SUBSTR)LENGTHLOCATEREVERSE、SUBSTRING_INDEX,先看一下这几个方法的大致意思及使用

 

 

方法

使用示例

方法及参数解释

SUBSTRING(SUBSTR)

SUBSTRING(str,pos)

mysql> SELECT SUBSTRING('Quadratically',5);

-> 'ratically'

SUBSTRING(str FROM pos)

mysql> SELECT SUBSTRING('foobarbar' FROM 4);

-> 'barbar'

SUBSTRING(str,pos,len)

mysql> SELECT SUBSTRING('Quadratically',5,6);

-> 'ratica'

SUBSTRING(str FROM pos FOR len)

mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);

-> 'ki'

方法:截取字符串

参数:str:被截取字符串

      pos:开始截取的位置

      len:截取长度

注:1.pos是位置,不是下标;

   2.pos可以为负数,为负时则从后开始截取;为0时什么都没有

 

LENGTH

LENGTH(str),

mysql> SELECT LENGTH('text');

-> 4

方法:获取字符串长度

参数:str:要获取长度的字符串

LOCATE

LOCATE(substr,str)

mysql> SELECT LOCATE('bar', 'foobarbar'); -> 4

LOCATE(substr,str,pos)

mysql> SELECT LOCATE('bar', 'foobarbar', 5); -> 7

方法:返回字符串 substr 在字符串 str 中第一次出现的位置。

如果子串 substr 在 str 中不存在,返回值为 0

参数:substr:原字符串

      str:要查找的字符串

      pos:开始查找的位置

REVERSE

REVERSE(str)

mysql> SELECT REVERSE('abc');

-> 'cba'

方法:反转字符串

参数:str:要反转的字符串

SUBSTRING_INDEX

SUBSTRING_INDEX(str,delim,count)

mysql> SELECT SUBSTRING_INDEX('www.mysql.com','.', 2);

-> 'www.mysql'

mysql> SELECT SUBSTRING_INDEX('www.mysql.com','.', -2);

 -> 'mysql.com'

方法:按关键字截取字符串

参数:str:被截取字符串

      delim:关键字

      count:关键字出现的次数

 

接下来就是利用mysql 实现 substring+lastindexof

方法一:SELECT SUBSTRING_INDEX(str, search_str, -1);

示例:mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -1);

     -> 'com'

 

方法二:SELECT SUBSTR(str, LENGTH(str) - LOCATE(search_str, REVERSE(str)) + 2)

示例:mysql> SELECT SUBSTR('www.mysql.com', LENGTH('www.mysql.com') - LOCATE('.', REVERSE('www.mysql.com')) + 2);

      -> 'com'

 

总结:方法一比较简单,方法二比较灵活

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值