一、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、截取第二个“-”之前的所有字符
SELECT SUBSTRING_INDEX('redsea-0001-0001-0001', '-', 2);
结果为:redsea-0001
2、截取倒数第二个“-”之后的所有字符
SELECT SUBSTRING_INDEX('redsea-0001-0001-0001', '-', -2);
结果为:0001-0001
3、如果关键字不存在,则返回整个字符串
SELECT SUBSTRING_INDEX('redsea-0001-0001-0001', '0002', 1);
结果为:redsea-0001-0001-0001
4、截取倒数第五个字符之前的所有字符
select left('redsea-0001-0001-0001',length('redsea-0001-0001-0001')-5)
结果为:redsea-0001-0001