MySQL函数之字符串截取
set @str='www.cnblogs.com/ljt1412451704/';
select LEFT(@str,3);-- www
select RIGHT(@str,3); -- 04/
select substr(@str,2); -- ww.cnblogs.com/ljt1412451704/
select SUBSTRING(@str,-3,2);-- 04
select substring_index(@str,'.',1);-- www
select substring_index(@str,'/',2);-- www.cnblogs.com/ljt1412451704
select substring_index(substring_index(@str,'.',-2),'.',1);-- cnblogs
函数:
1、从左开始截取字符串
left(str, length)
说明:left(被截取字段,截取长度)
例:set @str='www.cnblogs.com/ljt1412451704/';
2、从右开始截取字符串
right(str, length)
说明:right(被截取字段,截取长度)
例:select RIGHT(@str,3);
3、截取字符串
substring(str, pos)
substring(str, pos, length)
说明:substring=substr,substr是简写的。
substring(被截取字段,从第几位开始截取)
substring(被截取字段,从第几位开始截取,截取长度)
例:select substr(@str,2);
select SUBSTRING(@str,-3,2);
(注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度)
4、按分隔符截取字符串
substring_index(str,delim,count)
说明:substring_index(被截取字段,分隔符,分隔符出现的次数)
例:select substring_index("blog.jb51.net",".",2);-- blog.jb51
select substring_index(@str,'.',1);-- www
select substring_index(@str,'/',2);-- www.cnblogs.com/ljt1412451704
select substring_index(substring_index(@str,'.',-2),'.',1);-- cnblogs
(注:如果分隔符出现的次数是负数 如-2 则是从后倒数,到字符串结束)
函数简介:
SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)
不带有len 参数的格式从字符串str返回一个子字符串,起始于位置 pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。 使用 FROM的格式为标准 SQL 语法。也可能对pos使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对pos 使用一个负值。