在工作中,可能会遇到需要取一个字段对应的文本,长度大于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)
说明:
left(被截取字段,截取长度)
样例:
select left(content,200) as abstract from my_content_t
2. right 从右开始截取字符串
right(str,255);'>说明:
right(被截取字段,截取长度)
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(str,delim,count)
substring_index(被截取字段,关键字,关键字出现的次数) select substring_index("http://www.chenxm.cc",".",2) as abstract from wiki_user
>>> http://www.chenxm
(注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束)
参照原文:https://www.w3cschool.cn/MysqL/kmvh1ptz.html
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250