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 表空间碎片的概念及相关问题解决
May 07 MySQL
MySql新手入门的基本操作汇总
May 13 MySQL
如何设计高效合理的MySQL查询语句
May 26 MySQL
MYSQL数据库使用UTF-8中文编码乱码的解决办法
May 26 MySQL
mysql中between的边界,范围说明
Jun 08 MySQL
详解MySQL中的pid与socket
Jun 15 MySQL
mysql配置SSL证书登录的实现
Sep 04 MySQL
浅谈MySql整型索引和字符串索引失效或隐式转换问题
Nov 20 MySQL
MySQL 开窗函数
Feb 15 MySQL
分析MySQL优化 index merge 后引起的死锁
Apr 19 MySQL
mysql性能优化以及配置连接参数设置
May 06 MySQL
MySQL控制流函数(-if ,elseif,else,case...when)
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(2)――PHP类型
2010/02/15 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
javascript的函数
2007/01/31 Javascript
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
javascript 保存文件到本地实现方法
2012/11/29 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
彻底理解Python list切片原理
2017/10/27 Python
python决策树之CART分类回归树详解
2017/12/20 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
环保标语大全
2014/06/12 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
小学国庆节活动总结
2015/03/23 职场文书
小学感恩节活动总结
2015/03/24 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python