详解Mysql字符串截取left()、right()、substring()、substring_index()具体用法(一)

前言:在实际的项目开发中有时会有对数据库某个字段截取部分的需求,这种场景有时直接通过数据库操作比通过代码实现要方便些,而mysql提供了许多字符串函数可以用来处理这些需求,比如Mysql字符串截取有:left()、right()、substring()、substring_index()。

一、left()

left():顾名思义就是从左边截取字符串。

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

SELECT left('JingLiPoSuo',2);

结果为:Ji

二、right()

right():顾名思义就是从右边截取字符串。

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

SELECT right('JingLiPoSuo',2);

结果为:uo

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

截取特定长度的字符串有两种用法:

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

1、从字符串第4个字符开始直结束

SELECT substring('JingLiPoSuo',4);

结果为:LiPoSuo

2、从字符串第4个字符开始,只取2个

SELECT substring('JingLiPoSuo',4,2);

结果为:Li

3、从字符串倒数第4个字符开始直至结束

SELECT substring('JingLiPoSuo',-4);

结果为:oSuo

4、从字符串倒数第4个字符开始,只取2个

SELECT substring('JingLiPoSuo',-4,2);

结果为:oS

四、按关键字进行读取

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

1、截取第二个“i”之前的所有字符

SELECT SUBSTRING_INDEX('JingLiPoSuo', 'i', 2);

结果为:JingL

2、截取倒数第二个“i”之后的所有字符

SELECT SUBSTRING_INDEX('JingLiPoSuo', 'i', -2);

结果为:ngLiPoSuo

3、如果关键字不存在,则返回整个字符串

SELECT SUBSTRING_INDEX('JingLiPoSuo', 'zhao', -2);

结果为:JingLiPoSuo

发布了143 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/TreeShu321/article/details/104565348