Mysql sql语句字段截取前几位,后几位等

MySQL 字符串截取函数详解

在MySQL中,处理字符串数据时,我们经常需要对字符串进行截取操作。MySQL提供了多种字符串截取函数,用以满足不同的需求。本文将详细介绍这些字符串截取函数,包括LEFT(), RIGHT(), SUBSTRING(), SUBSTRING_INDEX(),以及MID()SUBSTR()函数。

1. LEFT() 函数

LEFT(str, length)函数用于从字符串str的左侧开始截取length长度的字符。此函数在Hibernate框架中不支持,但可以在MySQL客户端中使用。

sql 复制代码
SELECT LEFT('sqlstudy.com', 3);

输出结果:

复制代码
+-------------------------+
| LEFT('sqlstudy.com', 3) |
+-------------------------+
| sql                     |
+-------------------------+
2. RIGHT() 函数

RIGHT(str, length)函数用于从字符串str的右侧开始截取length长度的字符。类似于LEFT(),此函数在Hibernate框架中不得支持,但在MySQL客户端中有效。

sql 复制代码
SELECT RIGHT('sqlstudy.com', 3);

输出结果:

复制代码
+--------------------------+
| RIGHT('sqlstudy.com', 3) |
+--------------------------+
| com                      |
+--------------------------+
3. SUBSTRING() 函数

SUBSTRING(str, pos, len)函数是一个功能强大且灵活的字符串截取函数,它允许从任意位置开始截取,并可以指定截取的长度。MID()SUBSTR()函数与SUBSTRING()等价。

  • 基本用法:

    sql 复制代码
    SELECT SUBSTRING('sqlstudy.com', 4);

    输出结果:

    复制代码
    +------------------------------+
    | SUBSTRING('sqlstudy.com', 4) |
    +------------------------------+
    | study.com                    |
    +------------------------------+
  • 指定截取长度:

    sql 复制代码
    SELECT SUBSTRING('sqlstudy.com', 4, 2);

    输出结果:

    复制代码
    +---------------------------------+
    | SUBSTRING('sqlstudy.com', 4, 2) |
    +---------------------------------+
    | st                              |
    +---------------------------------+
  • 使用负值开始位置:

    sql 复制代码
    SELECT SUBSTRING('sqlstudy.com', -4);

    输出结果:

    复制代码
    +-------------------------------+
    | SUBSTRING('sqlstudy.com', -4) |
    +-------------------------------+
    | .com                          |
    +-------------------------------+
4. SUBSTRING_INDEX() 函数

SUBSTRING_INDEX(str, delim, count)函数用于根据分隔符delim截取字符串str。参数count指定了分隔符出现的次数,决定截取的部分。

  • 截取到第二个分隔符之前的所有字符:

    sql 复制代码
    SELECT SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', 2);

    输出结果:

    复制代码
    +------------------------------------------------+
    | SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', 2) |
    +------------------------------------------------+
    | www.sqlstudy                                   |
    +------------------------------------------------+
  • 截取到倒数第二个分隔符之后的所有字符:

    sql 复制代码
    SELECT SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', -2);

    输出结果:

    复制代码
    +-------------------------------------------------+
    | SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', -2) |
    +-------------------------------------------------+
    | com.cn                                          |
    +-------------------------------------------------+
  • 如果分隔符未找到:

    sql 复制代码
    SELECT SUBSTRING_INDEX('www.sqlstudy.com.cn', '.coc', 1);

    输出结果:

    复制代码
    +---------------------------------------------------+
    | SUBSTRING_INDEX('www.sqlstudy.com.cn', '.coc', 1) |
    +---------------------------------------------------+
    | www.sqlstudy.com.cn                               |
    +---------------------------------------------------+
结论

MySQL的字符串截取函数提供了强大的工具来处理和分析字符串数据。通过合理使用这些函数,可以极大地简化SQL查询中的字符串操作。

相关推荐
gamers8 分钟前
rock linux 9 安装mysql 5.7.44
linux·mysql·adb
mask哥14 分钟前
详解mcp以及agen架构设计与实现
java·微服务·flink·大模型·ai agent·springai·mcp
Propeller33 分钟前
【Android】View 交互的事件处理机制
android·java
杨杨杨大侠36 分钟前
Atlas Mapper 教程系列 (5/10):集合映射与嵌套对象处理
java·开源·github
ERP老兵_冷溪虎山37 分钟前
Python/JS/Go/Java同步学习(第十三篇)四语言“字符串转码解码“对照表: 财务“小南“纸式转码术处理凭证乱码崩溃(附源码/截图/参数表/避坑指南)
java·后端·python
是2的10次方啊38 分钟前
如何设计10万QPS秒杀系统?缓存+消息队列+分布式锁架构实战
java
心灵宝贝39 分钟前
Tomcat Connectors 1.2.37 源码编译安装教程(mod_jk 详细步骤)
java·tomcat
努力的小郑41 分钟前
MySQL索引(四):深入剖析索引失效的原因与优化方案
后端·mysql·性能优化
杨杨杨大侠42 分钟前
Atlas Mapper 教程系列 (6/10):Spring Boot 集成与自动配置
java·开源·github
傻傻虎虎1 小时前
【Docker】容器端口暴露+镜像生成实战
java·docker·容器