博客
关于我
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 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>
mysql 内连接、自然连接、外连接的区别
查看>>
mysql 写入慢优化
查看>>
mysql 分组统计SQL语句
查看>>
Mysql 分页
查看>>
Mysql 分页语句 Limit原理
查看>>
MySQL 创建新用户及授予权限的完整流程
查看>>
mysql 创建表,不能包含关键字values 以及 表id自增问题
查看>>
mysql 删除日志文件详解
查看>>
mysql 判断表字段是否存在,然后修改
查看>>
mysql 协议的退出命令包及解析
查看>>
mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
查看>>