mysql字符串截取函数小结


Posted in MySQL onApril 05, 2021

1.前言

在开发过程中,我们有时候需要对字符串有着特殊处理,比如表示区间的一个字段值为2-10,我们需要取最大值(10)或者最小值(2);在比如说,有场景只想要前五个字符,或者后五个字符。这种情况下,我们首相要想到的是字符串截取函数。
mysql字符串截取函数有SUBSTR(),SUBSTRING(),substring_index();INSTR()

2.SUBSTR()

mysql字符串截取函数小结
在上图中我们可以看到substr有四个方法其中1和4作用相同,获取字符串从指定位置长度的字符串,2和3作用相同表示从指定位置到结束。字符串串的起始值都是从1开始的。
其实位置pos的值可以正数,也可以是负数,其中正数表示从字符串从前往后截取,负数表示从后往前截取字符串,

select SUBSTR("mysql sub" ,1) 
union all 
select SUBSTR("mysql sub" from -3) 
union all
select SUBSTR("mysql sub" from -2 for 3) 
union all
select SUBSTR("mysql sub", -1,3)

mysql字符串截取函数小结

3.SUBSTRING()

mysql字符串截取函数小结
该函数的几个方法与SUBSTR相同就不赘述了。
mysql字符串截取函数小结

4.SUBSTRING_INDEXmysql字符串截取函数小结

该函数语法就是一个,含义是指定字符str按照分隔符delim,获取第count个分隔符的左边的全部内容。
mysql字符串截取函数小结

5.INSTR()

INSTR(str,substr) 函数式找到指定字符串str包含substr的位置,如果找到就返回substr第一次出现的第一个位置,
结合SUBSTRING就可以做到第一次出现的位置,获取两个子串。

select INSTR("2020-11-22","-")
union all
select INSTR("2020-11-22","11")

mysql字符串截取函数小结
还可用来进行模糊查询,只要结果大于0表示是有查找到的。即instr(name,str) 等效于name like %str%
两者效率比较

我们函数和全模糊都走不了索引,在百万级别instr要略高于like

MySQL 相关文章推荐
Mysql 如何批量插入数据
Apr 06 MySQL
Windows10下安装MySQL8
Apr 06 MySQL
MySQL Router实现MySQL的读写分离的方法
May 27 MySQL
MySQL系列之十二 备份与恢复
Jul 02 MySQL
mysql timestamp比较查询遇到的坑及解决
Nov 27 MySQL
mysql数据插入覆盖和时间戳的问题及解决
Mar 25 MySQL
MySQL 字符集 character
May 04 MySQL
MySql数据库 查询时间序列间隔
May 11 MySQL
Mysql 一主多从的部署
May 20 MySQL
MySQL数据库简介与基本操作
May 30 MySQL
MySQL数据库之内置函数和自定义函数 function
Jun 16 MySQL
mysql全面解析json/数组
Jul 07 MySQL
MySQL索引篇之千万级数据实战测试
MySQL表的增删改查(基础)
Apr 05 #MySQL
MySQL入门命令之函数-单行函数-流程控制函数
Apr 05 #MySQL
浅析InnoDB索引结构
Apr 05 #MySQL
mysql知识点整理
Apr 05 #MySQL
MySQL令人咋舌的隐式转换
Apr 05 #MySQL
MySQL锁机制
You might like
PHP遍历二维数组的代码
2011/04/22 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
javascript设计模式 接口介绍
2012/07/24 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
python用来获得图片exif信息的库实例分析
2015/03/16 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
学习python分支结构
2019/05/17 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
购买中国最好的电子产品:Geekbuying
2018/03/13 全球购物
回门宴新郎答谢词
2014/01/12 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
上班迟到检讨书
2015/05/06 职场文书
2015年司法局工作总结
2015/05/22 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
人与自然观后感
2015/06/16 职场文书
导游词之金鞭溪风景区
2019/09/12 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers