我们知道在MySQL字符串截取函数有:left(),right(),substring(),substring_index(),还有mid(),substr().其中,mid这些,下面我来给大家说明这些字符截函数的用法。
substr() 等价于substring() 函数,substring()的功能非常强大和灵活。
1、从左开始截取字符串
left(str, length)
说明:left(被截取字段,截取长度)
1、left(str,length); select left ('hxsdit.com',3); 结果是hxs
2、right(str,length);
从右开始截取字符串
right(str, length)
说明:right(被截取字段,截取长度)
select right('hxsdit.com,3 ); 结果是com
3、substring(str,pos,length)
截取字符串
substring(str, pos)
substring(str, pos, length)
说明:substring(被截取字段,从第几位开始截取)
substring(被截取字段,从第几位开始截取,截取长度)
select substring('hxsdit.com',4)从字符串str第四个字符位置开始截取,直到结束, 结果为dit.com
select substring('hxsdit.com',4,2) 从字符串str第四个字符位置开始截取,截取2个. 结果为di
select substring('hxsdit.com'-4)从字符串str倒数第四个开始截取,直到结束。 结果为.com
select substring('hxsdit.com'-4,2)从字符串str倒数第四个开始截取,截取2个 结果为.c
使用这个函数时候请注意,变量pos可以为负值,但是length不可以为负值
4、substring_index(str,delim,count);
按关键字截取字符串
substring_index(str,delim,count)
说明:substring_index(被截取字段,关键字,关键字出现的次数)
代码如下 | 复制代码 |
select substring_index('www.baidu.com','.',2); 截取第二个'.'之前的所有字符 结果为 www.baidu |
截取第二个 '.' 之前的所有字符。
代码如下 | 复制代码 |
mysql> select substring_index('www.sqlstudy.com.cn', '.', 2); +------------------------------------------------+ | substring_index('www.sqlstudy.com.cn', '.', 2) | +------------------------------------------------+ | www.sqlstudy | +------------------------------------------------+ |
4.2 截取第二个 '.' (倒数)之后的所有字符。
代码如下 | 复制代码 |
mysql> select substring_index('www.sqlstudy.com.cn', '.', -2); |
5、如果在字符串中找不到 delim 参数指定的值,就返回整个字符串
代码如下 | 复制代码 |
mysql> select substring_index('www.sqlstudy.com.cn', '.coc', 1); |