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查询中的字符串操作。

相关推荐
蛋蛋的就会顺顺的5 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
mister_guo5 小时前
MySQL-1267错误:排序规则冲突的原因与解决方案
数据库·mysql
需要8266 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
小 黄 鸡6 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
Lost_the_wind8 小时前
MySQL学习笔记五
mysql
伯恩bourne8 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
silvamux_8 小时前
curl 测试 OpenAI 兼容 API 的完整流程
java·人工智能·缓存·ai·oneapi
省钱兄--zs8 小时前
深圳24小时自助健身房软硬件解决方案实战指南与开发流程详解
java·数据仓库·spring boot·小程序·架构
顽疲9 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
Wang's Blog9 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友