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 MVCC机制原理详解
Apr 20 MySQL
MySQL 8.0 Online DDL快速加列的相关总结
Jun 02 MySQL
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
Jun 18 MySQL
mysql脏页是什么
Jul 26 MySQL
mysql中int(3)和int(10)的数值范围是否相同
Oct 16 MySQL
Mysql中一千万条数据怎么快速查询
Dec 06 MySQL
MySQL中int (10) 和 int (11) 的区别
Jan 22 MySQL
MySQL高级进阶sql语句总结大全
Mar 16 MySQL
实战 快速定位MySQL的慢SQL
Mar 22 MySQL
Windows下载并安装MySQL8.0.x 版本的完整教程
Apr 10 MySQL
以MySQL5.7为例了解一下执行计划
Apr 13 MySQL
MySQL数据管理操作示例讲解
Dec 24 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
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
Php Ctemplate引擎开发相关内容
2012/03/03 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
2019/06/25 PHP
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
javascript中apply/call和bind的使用
2017/02/15 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
JavaScript实现简单生成随机颜色的方法
2017/09/21 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
python下如何让web元素的生成更简单的分析
2008/07/17 Python
python进阶教程之动态类型详解
2014/08/30 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
Python 在函数上添加包装器
2020/07/28 Python
Python和Bash结合在一起的方法
2020/11/13 Python
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
感恩之星事迹材料
2014/05/03 职场文书
南京导游词
2015/02/03 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
农村党员干部承诺书
2015/05/04 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis
TS 类型兼容教程示例详解
2022/09/23 Javascript