1、从左开始截取字符串 
left(str, length) 
说明:left(被截取字段,截取长度) 
例:select left(content,200) as abstract from my_content_t 
2、从右开始截取字符串 
right(str, length) 
说明:right(被截取字段,截取长度) 
例:select right(content,200) as abstract from my_content_t 
3、截取字符串 
substring(str, pos) 
substring(str, pos, length) 
说明:substring(被截取字段,从第几位开始截取) 
substring(被截取字段,从第几位开始截取,截取长度) 
例:select substring(content,5) as abstract from my_content_t 
select substring(content,5,200) as abstract from my_content_t 
(注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度) 
4、按关键字截取字符串 
substring_index(str,delim,count) 

说明:substring_index(被截取字段,关键字,关键字出现的次数) 

如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容

相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容

 

对于第四条:

例如:

 有一个字符串,我想把中间的时间取出来,即10,用sql怎么写呢,,,
 "用时10秒,承保出单成功,商业险保单号:SSSSSSSSSSSSSSS,交强险保单号:AAAAAAAAAAAAAAAAAAAAAAA,微信通知前台用户",
答案:

SUBSTRING_INDEX(SUBSTRING_INDEX(msg,'秒',1),'时',-1)

posted on 2016-11-07 15:37  Sign_Black  阅读(392)  评论(0编辑  收藏  举报