SQL中字符串截取函数图文教程

 

前言

字符串截取函数,也是我们在数据开发分析的过程中比较常用的函数,比较常用的函数,有四个 left()、right()、substr()、substring_index() 函数。

 

一、left()函数

含义:返回从字符串左边开始指定个数的字符

语法格式:left(column,n)

释义:从字段column的字符串内容的左面开始截取,总共截取 n 的位置。

示例语句:SELECT office_name,LEFT(office_name,2) FROM database.table

结果展示:

 

二、right()函数

含义:返回从字符串右边开始指定个数的字符

语法格式:right(column,n)

释义:从字段column的字符串内容的右面开始截取,总共截取 n 的位置

示例语句:SELECT office_name,right(office_name,1) FROM database.table

结果展示:

 

三、substr()函数

substr()函数是我们在做字符串截取的时候,用的相对比较对的一个函数,因为它比较灵活,参数比较丰富,可以实现相对复杂一点的字符串截取需求。

格式:substr( expression , start , length )

释义:

(1)expression:需要被截取的字符串,可以是字符串、二进制字符串、text、image、列或包含列的表达式。

(2)start :开始截取的位置。

(3)length :需要截取的长度,(这个参数可以省略,如果没有指定截取长度,默认截取后面的所有字符)。

1,从指定位置开始截取到字符串结束

表达式:substr(column,2)

释义:从column的第二位开始截取,到字符串结束

示例语句:SELECT office_name,SUBSTR(office_name,2) FROM database.table ;

结果展示:

2,从指定位置截取,并指定截取位数

表达式:substr(column,2,1)

释义:从column的第二位开始截取,截取一位

示例语句:SELECT office_name,SUBSTR(office_name,2,1) FROM database.table ;

结果展示:

3,从字符串末尾第一位开始截取

表达式:substr(column,-1)

释义:从字符串末尾第一位开始截取,省略第三个函数,表示截取整个字符串

示例语句:SELECT office_name,SUBSTR(office_name,-1) FROM database.table

结果展示:

4,从字符串倒数几位开始截取,指定个数的字符

表达式:substr(column,-2,1)

释义:从column倒数第二位开始截取,截取一位

示例语句:SELECT office_name,SUBSTR(office_name,-2,1) FROM database.table

结果展示:

 

四、substring_index() 函数

1,指定字符在字符串中从前往后数出现次数位置,截取该位置之前的所有字符

表达式:substring_index(column,str,count)

释义:截取字符串column,str出现从前往后数第count次,之前的所有字符

示例语句:SELECT substring_index(‘www.baidu.com’,‘.’,2)

结果展示:

2,指定字符在字符串中从后往前数出现次数位置,截取该位置之后的所有字符

表达式:substring_index(column,str,-count)

释义:截取字符串column,str出现从后往前数第count次,之后的所有字符

示例语句:SELECT substring_index(‘www.baidu.com’,‘.’,-2)

结果展示:

3,指定字符在字符串不存在

表达式:substring_index(column,str,count)

示例语句:SELECT substring_index(‘www.baidu.com’,‘Goole’,2)

结果展示:

 

总结

关于SQL中字符串截取函数的文章就介绍至此,更多相关SQL字符串截取函数内容请搜索编程宝库以前的文章,希望以后支持编程宝库

 前言今天测试给提了个bug, 排查原因是插入数据时字段长度不够导致。我使用的是MySQL8的数据库,在给某个表新增一条数据,其中一个字段submit_info使用的是text的类型预设 ...