Mysql字符串截取
作者:mmseoamin日期:2023-12-21

一、left()

        从左边截取字符串 用法:left(str,length), 即:left(被截取字符串,截取长度)

select left('fuyinghao',4);

        结果:fuyi

二、right()

        从右边截取字符串 用法:right(str,length), 即:right(被截取字符串,截取长度)

select right('fuyinghao',4);

        结果:ghao

三、截取特定长度的字符串

        有两种用法:

                substring(str,pos), 即:substring(被截取字符串,从第几位开始截取)

                substring(str,pos,length), 即:substring(被截取字符串,从第几位开始截取,截取长度)

  1. 从字符串第3个字符开始到结束

    select substring('fuyinghao',3);
    结果:yinghao
  2. 从字符串第3个字符开始,只截取4位

    select substring('fuyinghao',3,4);
    结果:ying
  3. 从字符串倒数第3个字符开始至结束

    select substring('fuyinghao',-3);
    结果:hao
  4. 从字符串倒数第3个字符开始,只截取2位

    select substring('fuyinghao',-3,2);
    结果:ha

四、按关键字进行截取

用法:substring_index(str,keyword,count), 即:substring_index(被截取字符串,关键字,关键字出现的次数)

  1. 截取第1个 i 之前的所有字符

    select substring_index('fuyinghao','i',1);
    结果:fuy
  2. 截取倒数第1个 i 之后的所有字符

    select substring_index('fuyinghao','i',-1);
    结果:nghao
  3. 如果关键字不存在 则返回整个字符串

    select substring_index('fuyinghao','z',2);
    结果:fuyinghao