mysql中字符串截取与拆分

截取字符串

一、left(str,length)

从左边截取字符串,参数str:被截取的字符串,length:截取的长度

SELECT LEFT('程序不是年轻的专利,但是,他属于年轻。',9);

二、right(str,length)

从右边截取字符串,参数str:被截取的字符串,length:截取的长度

SELECT RIGHT('程序不是年轻的专利,但是,他属于年轻。',9);

 三、截取特定长度的字符串

有两种用法: substring(str,pos)
参数str:被截取的字符串,pos从第几位开始截取,当为正数时从左开始数,当为负数时,从右开始数,从第几位开始截取,直至字符串结束;
substring(str,pos,length)
参数str:被截取的字符串,pos从第几位开始截取,当为正数时从左开始数,当为负数时,从右开始数,从第几位开始截取,向右截取length个字符。

1.从字符串第n个字符开始到结束

SELECT SUBSTRING('程序不是年轻的专利,但是,他属于年轻。',3);

 

2.从字符串第3个字符开始,只截取7位 

SELECT SUBSTRING('程序不是年轻的专利,但是,他属于年轻。',3,7);

3.从字符串倒数第6个字符开始至结束 

SELECT SUBSTRING('程序不是年轻的专利,但是,他属于年轻。',-6);

4.从字符串倒数第3个字符开始,只截取2位

SELECT SUBSTRING('程序不是年轻的专利,但是,他属于年轻。',-6,2);

 

四、按分隔符截取 

SUBSTRING_INDEX(str,delim,count)
参数str:被截取的字符串;
参数delim:分隔符;
参数count:第几个分隔符,为正数时,截取从左往右第几个分隔符左边的内容,为负数时,截取从右往左第几个分隔符右边的内容。

1.截取第1个 "-"之前的所有字符

SELECT SUBSTRING_INDEX('100-200-300-400', '-', 1);

 

2.截取倒数第1个"-"之后的所有字符

SELECT SUBSTRING_INDEX('100-200-300-400', '-', -1);

 

3.截取中间的某个值

比如说要取100-200-300-400 的第二个,可以先取count为2的,再从右取count为-1

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('100-200-300-400', '-', 2),'-', -1);

 4.如果指定的分隔符找不到则返回整个字符串

SELECT SUBSTRING_INDEX('100-200-300-400', '-', 5);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值