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 07 MySQL
mysql的MVCC多版本并发控制的实现
Apr 14 MySQL
MySQL root密码的重置方法
Apr 21 MySQL
教你用eclipse连接mysql数据库
Apr 22 MySQL
jdbc使用PreparedStatement批量插入数据的方法
Apr 27 MySQL
MySQL中使用or、in与union all在查询命令下的效率对比
May 26 MySQL
MySQL query_cache_type 参数与使用详解
Jul 01 MySQL
MySQL的InnoDB存储引擎的数据页结构详解
Mar 03 MySQL
MySQL学习之基础操作总结
Mar 19 MySQL
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
Mar 23 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
May 11 MySQL
详解MySQL的内连接和外连接
May 08 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
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
Yii2单元测试用法示例
2016/11/12 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
js比较日期大小的方法
2015/05/12 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
微信JS接口大全
2016/08/25 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
Python中为什么要用self探讨
2015/04/14 Python
python实现数独算法实例
2015/06/09 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
python多线程之事件Event的使用详解
2018/04/27 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
HTML5在手机端实现视频全屏展示方法
2020/11/23 HTML / CSS
日本最新流行服饰网购:Nissen
2016/07/24 全球购物
Python里面search()和match()的区别
2016/09/21 面试题
小区门卫值班制度
2014/01/24 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
学校工会工作总结2015
2015/05/19 职场文书
用python实现监控视频人数统计
2021/05/21 Python
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python