博客
关于我
MySQL 字符串截取函数,字段截取,字符串截取
阅读量:794 次
发布时间:2023-02-10

本文共 2406 字,大约阅读时间需要 8 分钟。

MySQL 字符串截取函数详解

MySQL 提供了多种字符串截取函数,用于根据需要提取字符串的特定部分。以下是常用的字符串截取函数及其使用方法。

1. left() 函数

  • 语法left(str, length)
  • 功能:从字符串的开头截取指定长度的字符。
  • 示例
    mysql> select left('sqlstudy.com', 3);+-------------------------+| sql                     |+-------------------------+

2. right() 函数

  • 语法right(str, length)
  • 功能:从字符串的末尾截取指定长度的字符。
  • 示例
    mysql> select right('sqlstudy.com', 3);+--------------------------+| com                      |+--------------------------+

3. substring() 函数

  • 语法substring(str, pos), substring(str, pos, len)
  • 功能:从字符串的指定位置开始截取字符,可选长度。
  • 示例
    • 从位置 4 开始截取直到结束:
      mysql> select substring('sqlstudy.com', 4);+------------------------------+| study.com                     |+------------------------------+
    • 从位置 4 开始只截取 2 个字符:
      mysql> select substring('sqlstudy.com', 4, 2);+---------------------------------+| st                              |+---------------------------------+
    • 从倒数第四个字符开始截取直到结束:
      mysql> select substring('sqlstudy.com', -4);+-------------------------------+| .com                          |+-------------------------------+
    • 从倒数第四个字符开始只截取 2 个字符:
      mysql> select substring('sqlstudy.com', -4, 2);+----------------------------------+ | .c                               |+----------------------------------+

注意:在 substring(str, pos, len) 中,pos 可以为负值,但 len 不能为负。

4. substring_index() 函数

  • 语法substring_index(str, delim, count)
  • 功能:根据指定的分隔符 delim 截取字符串中的部分内容,可指定是第几个分隔符的位置。
  • 示例
    • 截取第二个 '.' 之前的所有字符:
      mysql> select substring_index('www.sqlstudy.com.cn', '.', 2);+------------------------------------------------+ | www.sqlstudy                                   |+------------------------------------------------+
    • 截取第二个 '.' (倒数)之后的所有字符:
      mysql> select substring_index('www.sqlstudy.com.cn', '.', -2);+-------------------------------------------------+ | com.cn                                          |+-------------------------------------------------+
    • 如果分隔符不存在,返回整个字符串:
      mysql> select substring_index('www.sqlstudy.com.cn', '.coc', 1);+---------------------------------------------------+ | www.sqlstudy.com.cn                               |+---------------------------------------------------+
    • 截取字段数据的中间值(如字段数据为 1,2,3):
      mysql> select substring_index(substring_index(该字段, ',', 2) , ',', -1) from 表名;+--------------------------------------------------------------+ | 2                                             |+--------------------------------------------------------------+

通过合理运用这些函数,可以轻松实现对字符串的各种截取需求,满足开发需求中的多种场景。

转载地址:http://skbfk.baihongyu.com/

你可能感兴趣的文章
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
Mysql 中的日期时间字符串查询
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>
mysql 主从关系切换
查看>>
mysql 主键重复则覆盖_数据库主键不能重复
查看>>