博客
关于我
MySQL 字符串截取函数,字段截取,字符串截取
阅读量:795 次
发布时间: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 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>
MySQL 的Rename Table语句
查看>>
MySQL 的全局锁、表锁和行锁
查看>>
mysql 的存储引擎介绍
查看>>