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
jdbc使用PreparedStatement批量插入数据的方法
Apr 27 MySQL
如何自己动手写SQL执行引擎
Jun 02 MySQL
MySQL系列之十四 MySQL的高可用实现
Jul 02 MySQL
一篇文章带你深入了解Mysql触发器
Aug 02 MySQL
MySQL数据库索引的最左匹配原则
Nov 20 MySQL
MySQL中CURRENT_TIMESTAMP的使用方式
Nov 27 MySQL
MySQL数据库⾼可⽤HA实现小结
Jan 22 MySQL
一次SQL如何查重及去重的实战记录
Mar 13 MySQL
Mysql超详细讲解死锁问题的理解
Apr 01 MySQL
进阶篇之linux环境下安装MySQL数据库
Apr 09 MySQL
MySQL数据库如何使用Shell进行连接
Apr 12 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安全编程之加密功能
2006/10/09 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
PHP防盗链代码实例
2014/08/27 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
2016/05/03 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
浅谈Python实现2种文件复制的方法
2018/01/19 Python
python 实现A*算法的示例代码
2018/08/13 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
python实现邮件发送功能
2019/08/10 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
python自动生成sql语句的脚本
2021/02/24 Python
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
实现向右循环移位
2014/07/31 面试题
实用求职信范文分享
2013/12/25 职场文书
颁奖典礼主持词
2014/03/25 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
活动总结的格式
2014/05/07 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
优秀党支部申报材料
2014/12/24 职场文书
出纳工作检讨书范文
2014/12/27 职场文书
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
MySQL 计算连续登录天数
2022/05/11 MySQL
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技