博客
关于我
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: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>
MySQLIntegrityConstraintViolationException异常处理
查看>>
mysqlreport分析工具详解
查看>>
MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
查看>>
Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
查看>>