mysql 对表字段进行长度截取(left、right、substring、substring_index)或者是取字段对应的值长度(length)范围的值

前端之家收集整理的这篇文章主要介绍了mysql 对表字段进行长度截取(left、right、substring、substring_index)或者是取字段对应的值长度(length)范围的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在工作中,可能会遇到需要取一个字段对应的文本,长度大于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

@H_502_120@(注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束) 


参照原文:https://www.w3cschool.cn/MysqL/kmvh1ptz.html

猜你在找的MySQL相关文章