一.从左开始截取字符串

用法:left(str, length),即:left(被截取字符串, 截取长度)

mysql> SELECT LEFT('hello,world',3);
+-----------------------+
| LEFT('hello,world',3) |
+-----------------------+
| hel |
+-----------------------+
1 row in set (0.00 sec)

二.从右开始截取字符串

用法:right(str, length),即:right(被截取字符串, 截取长度)

mysql> SELECT right('hello,world',3);
+------------------------+
| right('hello,world',3) |
+------------------------+
| rld |
+------------------------+
1 row in set (0.00 sec)

三.截取特定长度的字符串

用法:

  • substring(str, pos),即:substring(被截取字符串, 从第几位开始截取)
  • substring(str, pos, length),即:substring(被截取字符串,从第几位开始截取,截取长度)

pos 正向起始值为1,反向起始值为-1

#1.从字符串的第3个字符开始读取直至结束
mysql> SELECT substring('hello,world',3);
+----------------------------+
| substring('hello,world',3) |
+----------------------------+
| llo,world |
+----------------------------+
1 row in set (0.00 sec) #2.从字符串的倒数第3个字符开始读取直至结束
mysql> SELECT substring('hello,world',-3);
+-----------------------------+
| substring('hello,world',-3) |
+-----------------------------+
| rld |
+-----------------------------+
1 row in set (0.01 sec) #3.从字符串的第3个字符开始,只取5个字符
mysql> SELECT substring('hello,world',3,5);
+------------------------------+
| substring('hello,world',3,5) |
+------------------------------+
| llo,w |
+------------------------------+
1 row in set (0.00 sec) #4.从字符串的倒数第3个字符开始,只取5个字符
mysql> SELECT substring('hello,world',-3,5);
+-------------------------------+
| substring('hello,world',-3,5) |
+-------------------------------+
| rld |
+-------------------------------+
1 row in set (0.00 sec)

四.按关键字进行读取

用法:

  • substring_index(str, delim, count),即:substring_index(被截取字符串,关键字,关键字出现的次数)
#1.截取第二个“|”之前的所有字符
mysql> SELECT substring_index('1|2|3|4|5','|',2);
+------------------------------------+
| substring_index('1|2|3|4|5','|',2) |
+------------------------------------+
| 1|2 |
+------------------------------------+
1 row in set (0.00 sec) #2.截取倒数第二个“|”之后的所有字符
mysql> SELECT substring_index('1|2|3|4|5','|',-2);
+-------------------------------------+
| substring_index('1|2|3|4|5','|',-2) |
+-------------------------------------+
| 4|5 |
+-------------------------------------+
1 row in set (0.00 sec) #3.如果关键字不存在,则返回整个字符串
mysql> SELECT substring_index('1|2|3|4|5|','-',2);
+-------------------------------------+
| substring_index('1|2|3|4|5|','-',2) |
+-------------------------------------+
| 1|2|3|4|5| |
+-------------------------------------+
1 row in set (0.00 sec)

Mysql 中字符串的截取的更多相关文章

  1. MySQL中字符串与数字比较的坑

    公司项目代码中,某枚举字段数据库表中类型是char(1),在代码中,误以为是TINYINT,所以用数字筛选,后来发现结果不对.发现了一个现象,用数字0筛选会把所有的记录给筛选出来. 经过排查发现是在M ...

  2. <经验杂谈>Mysql中字符串处理的几种处理方法concat、concat_ws、group_concat

    Mysql中字符串处理的几种处理方法concat.concat_ws.group_concat以下详情: MySQL中concat函数使用方法:CONCAT(str1,str2,-) 返回结果为连接参 ...

  3. Mysql中字符串正确的连接方法

    虽然SQL server和My sql的语句基本都一致,但是仍然存在一些小区别.就如字符串的连接来说,SQL server中的字符串连接是使用“+”来连接,不带引号sql server是做加法运算.而 ...

  4. c++中字符串的截取:

    c++中字符串的截取: string 类提供字符串处理函数,利用这些函数,程序员可以在字符串内查找字符,提取连续字符序列(称为子串),以及在字符串中删除和添加.我们将介绍一些主要函数. 1.函数fin ...

  5. Python中字符串的截取,列表的截取

    字符串的截取 Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符. 字符串的截取的语法格式如下: 变量[头下标:尾下标] 索引值以 0 为开始值,-1 ...

  6. python中字符串操作--截取,查找,替换

    python中,对字符串的操作是最常见的,python对字符串操作有自己特殊的处理方式. 字符串的截取 python中对于字符串的索引是比较特别的,来感受一下: s = '123456789' #截取 ...

  7. js中字符串的截取

    当需要从一组数据中移除到符合条件的某一个数据的时候,在这种情况下如何进行截取呢? 基本思路: ①将其通过特定的符号,将一组字符串进行拼接,或者用","或者用"+" ...

  8. MySQL中字符串函数详细介绍

    MySQL字符串函数对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str)返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL,返回N ...

  9. MySQL的字符串函数截取字符

    函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...

随机推荐

  1. 11.20 yum:自动化RPM包管理工具

    yum(Yellow dog Updater Modified)是多个Linux发行版的软件包管理器,例如Redhat RHEL.CentOS和Fedora.yum主要用于自动安装.升级rpm软件包, ...

  2. 源码篇:Flutter Provider的另一面(万字图文+插件)

    前言 阅读此文的彦祖,亦菲们,附送一枚Provider模板代码生成插件! 我为啥要写这个插件呢? 此事说来话短,我这不准备写解析Provider源码的文章,肯定要写这框架的使用样例啊,然后再哔哔源码呀 ...

  3. 实践指南-网页生成PDF

    一.背景 开发工作中,需要实现网页生成 PDF 的功能,生成的 PDF 需上传至服务端,将 PDF 地址作为参数请求外部接口,这个转换过程及转换后的 PDF 不需要在前端展示给用户. 二.技术选型 该 ...

  4. PTH的几种食用姿势

    PTH PTH(pass the hash)也叫做hash传递.在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过NTLM Hash(mimikatz或其他手段抓取到的密码hash)访问远 ...

  5. pytest - 失败重运行机制:rerun

    失败重运行机制 用例失败的情况下,可以重新运行用例 一旦用例失败,马上重新运行 安装插件:pip install pytest-rerunfailures 使用命令:--reruns 重试次数 如 - ...

  6. docker容器与镜像的区别

    今天抛开原理,抛开底层.通俗的讲解docker中容器与镜像的区别. 对于初学者来说,刚刚接触docker会有点迷,特别是镜像与容器.其实我们可以理解镜像与容器为一对多的关系. 下图错误的示范,为什么是 ...

  7. Linux架构思维导图

    Linux架构思维导图 GUI(Graphical User Interface,图形用户界面) Linux学习路径 软件框架 Linux桌面介绍 FHS:文件系统目录标准 Linux需要特别注意的目 ...

  8. deepstream-开放式实时服务器

    deepstream-开放式实时服务器 deepstream是一款开源服务器,其灵感来自金融交易技术背后的概念.它允许客户端和后端服务同步数据.发送消息并以非常高的速度和规模规划rpc. 参考:htt ...

  9. PyTorch中的MIT ADE20K数据集的语义分割

    PyTorch中的MIT ADE20K数据集的语义分割 代码地址:https://github.com/CSAILVision/semantic-segmentation-pytorch Semant ...

  10. Firfox、Chrome之python-selenium环境搭建

    公共步骤: 一.文件下载 下载地址: python安装包:https://www.python.org/getit/ PyCharm 安装包:http://www.jetbrains.com/pych ...