在工作中,可能会遇到需要取一个字段对应的文本,长度大于xx、或者是长度小于xx的数据。或者是对某一个字段对应的文本进行截取处理。
如:想要提取表中电话号码长度大于11位的数据
SELECT * FROM `表名` where length(字段名) > 11;
将手机号码长度长于11位进行截取数据
SELECT * FROM `表名` where length(字段名) > 11 UPDATE `表名` SET `字段名`=SUBSTRING(`字段名`,1,7) WHERE LENGTH(`字段名`) > 11;
1. left 从左开始截取字符串
用法:
left(str, length)
说明:
样例:
select left(content,200) as abstract from my_content_t
2. right 从右开始截取字符串
用法:
right(str,255);'>说明:select right(content,200) as abstract from my_content_t
3. substring 截取字符串 :
解释:substring函数从特定位置开始的字符串返回一个给定长度的子字符串。 MysqL提供了各种形式的子串功能。
用法:
substring(str, pos) substring(str, pos, length)
说明:
substring(被截取字段,从第几位开始截取)
substring(被截取字段,从第几位开始截取,截取长度)
SELECT SUBSTRING('123456789', 7);
>>> 789
SELECT SUBSTRING('123456789', 5,9);
>>> 56789
4.按关键字截取字符串 用法: substring_index(被截取字段,关键字,关键字出现的次数) select substring_index("http://www.chenxm.cc",".",2) as abstract from wiki_user
>>> http://www.chenxm
参照原文:https://www.w3cschool.cn/MysqL/kmvh1ptz.htmlsubstring_index(str,delim,count)