在数据库中,对于一个字符串,有时候我们需要截取字符串中的某一段,这时候我们就要用到字符串截取函数。
- LEFT( Str, index)
Str–表示待截取的字符串
index–表示从左边开始共截取多少位
LEFT( ) 函数也可以放在 where 后面作为判断条件 - RIGHT( Str, index)
用法和 LEFT( ) 函数类似,只不过是从右边开始截取 index 位
如果我们想要截取中间的某几位,我们可以使用 LEFT( ) 和 RIGHT( ) 的组合
例如:截取第 2 到第 4 位函数调用为:
RIGHT( LEFT ( Str , 4 ) , 2 ) - SUBSTRING(subStr, index)
当index为负数时,从右边开始向左截取,截至从右边开始数第index位
当index为正数时,从左边开始向右截取,截至从左边开始数第index位
SUBSTRING( ) 说白了就是LEFT( ) 和 RIGHT( ) 的组合,只不过是用正负数区分方向。 - SUBSTRING_INDEX(subStr, matchStr, index)
这个函数比SUBSTRING( ) 函数多了一个匹配字符的功能
matchStr 表示待匹配的字符
index 的含义有了一些改变,从左(正数)或者从右(负数)第几个匹配到的matchStr 字符开始截取,直到最左边或者最右边。
例如:我们可以截取邮箱名称的后缀
select substring_index(Email,’@’,-1) from basic limit 100;
匹配字符为 ‘@’ ,-1表示从右边第一个遇到 ‘@’ 字符开始一直截取到最右边。
这几个函数都可以作为查询的结果放在 select 后面,也可以作为条件放在 where 后面,用的时候可以灵活使用。