一.从左开始截取字符串

用法: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. shell应用之监测电脑内存、负载和磁盘的使用情况

    1 #!/bin/bash 2 for i in $(cat ip.txt);do 3 #内存 4 total_memo=$(ssh $i "free -m" |grep Mem ...

  2. JavaWeb Session 状态管理

    引言 HTTP 协议是一个无状态的协议,简单理解就是两次请求/响应无法记录或保存状态信息.但是动态 Web 项目开发是需要保存请求状态的,比如用户的登录状态,但 HTTP 协议层不支持状态保存,所以需 ...

  3. Python爬虫-Scrapy框架的工作原理

    Scrapy框架工作原理 Scrapy框架架构图 Scrapy框架主要由六大组件组成,分别为: ​ 调度器(Scheduler),下载器(Downler),爬虫(Spiders),中间件(Middwa ...

  4. 程序员与年龄:四十岁普通开发、三十五岁首席架构、三十岁基层Leader

    最近,有一个词儿特别热门--躺平.有没有人跟你说过:"躺平说起来容易,做起来更容易." 和躺平相对的是另外一个词--内卷,群聊的时候,已经很多次看过草卷起来了.jpg表情包.某些节 ...

  5. Nginx的超时timeout配置详解

    Nginx的超时timeout配置详解 本文介绍 Nginx 的 超时(timeout)配置. Nginx 处理的每个请求均有相应的超时设置.如果做好这些超时时间的限定,判定超时后资源被释放,用来处理 ...

  6. Python+Selenium学习笔记8 - 多表单&多窗口切换

    1.多表单切换 下图为待测页面:内嵌百度首页 切换到百度首页进行操作 1 # coding = utf-8 2 3 from selenium import webdriver 4 import os ...

  7. Springboot单元测试@RunWith注解

    1.RunWith 注解 RunWith 就是一个运行器 可以在单元测试的时候,自动创建spring的应用上下文 2.正确使用 pom.xml <dependency> <group ...

  8. 使用Tensorize评估硬件内部特性

    使用Tensorize评估硬件内部特性 这是有关如何在TVM中执行张量的入门文档. 通过使用调度原语tensorize,人们可以用相应的内部函数代替计算单元,从而轻松利用handcrafted mic ...

  9. mongodb的ObjectId最后三个字节有趣的地方

    ObjectId 由12个字节组成,其中组成如下: a 4-byte timestamp value, representing the ObjectId's creation, measured i ...

  10. SpringBoot数据访问(二) SpringBoot整合JPA

    JPA简介 Spring Data JPA是Spring Data大家族的一部分,它可以轻松实现基于JPA的存储库.该模块用于增强支持基于JPA的数据访问层,它使我们可以更加容易地构建使用数据访问技术 ...