mysql中截取字符串的6个函数讲解

2022-08-29 11:58:13
目录
mysql截取字符串的6个函数1、LEFT(str,len)2、RIGHT(str,len)3、SUBSTRING(str, pos, len)4、SUBSTR(str, pos, len) 5、MID(str, pos, len)  6、SUBSTRING_INDEX(str, delim, count)mysql截取字符串中间的值substring_index函数应用

mysql截取字符串的6个函数

1、LEFT(str,len)

从左边开始截取,str:被截取字符串;len:截取长度

示例:

2、RIGHT(str,len)

从右边开始截取,str:被截取字符串;len:截取长度

示例:

3、SUBSTRING(str,>

str:被截取字符串;pos:截取开始位置;len:截取长度(非必填:不填截取到最大长度)

示例1:

示例2:

4、SUBSTR(str,>

与SUBSTRING(str, pos, len)函数的使用一样

str:被截取字符串;pos:截取开始位置;len:截取长度(非必填:不填截取到最大长度)

示例1:

示例2:

5、MID(str,>

与SUBSTRING(str, pos, len)函数的使用一样

str:被截取字符串;pos:截取开始位置;len:截取长度(非必填:不填截取到最大长度)

示例1:

示例2:

 6、SUBSTRING_INDEX(str,>
    str:被截取字符串;delim:截取数据依据的字符;count:截取数量(count>0就从左边开始取,count<0就从右边开始取)

    示例1:

    示例2:

    示例3:

    最后再说一个函数,截取字符串一般都会用到这个函数: LOCATE(substr,str)

    作用: 查找字符串中指定字符的位置

      substr:搜索的字符str:字符串

      从 str 字符串 中获得 substr 字符 的位置(没找到返回 0)

      示例1:

      示例2:

      示例3:

      mysql截取字符串中间的值

      substring_index函数

      substring_index(str,delim,count)
        str: 要处理的字符串delim: 分隔符count: 计数

        例如: str = www.51aaa.com

        substring_index(str,'.',1)

        结果是:www

        substring_index(str,'.',2)

        结果是:www.51aaa

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

        substring_index(str,'.',-1)

        结果是:com

        substring_index(str,'.',-2)

        结果是:51aaa.com

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

        那么,如果我要中间的的aaa怎么办?

        很简单的,两个方向:从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:

        先获取

        substring_index(remarks,'1',-1) as mm

        结果是: aaa.com

        然后是

        substring_index('aaa.com','.',1) as mm

        结果是: aaa.com

        合起来就是:

        substring_index(substring_index(str,'1',-1),'.',1)

        应用

        数据表t_record的字段remark的值为字符串>

        这里截取#和次之间的字符串,即获取数字56

        下面sql的-1表示从重右侧数第一个#,1表示从左侧数起第一个次

        select substring_index(substring_index(remarks,'#',-1),'次',1) from t_record

        以上为个人经验,希望能给大家一个参考,也希望大家多多支持易采站长站。