MySQL之SUBSTRING 和 SUBSTRING_INDEX函数

打印 上一主题 下一主题

主题 536|帖子 536|积分 1610

在 MySQL 中,SUBSTRING 和 SUBSTRING_INDEX 是用于字符串操纵的函数,它们在字符串处理中非常有用。以下是对这两个函数的具体介绍:
1. SUBSTRING 函数

概述

SUBSTRING 函数用于从一个字符串中提取子字符串。它可以根据指定的起始位置和长度来提取部门字符串。SUBSTRING 有多种用法,取决于参数的情势。
语法

  1. SUBSTRING(string, start, length)
复制代码


  • string:须要提取子字符串的原始字符串。
  • start:子字符串的起始位置。这个位置从 1 开始计数,假如 start 是负数,则从字符串末端开始计算位置。
  • length(可选):指定子字符串的长度。假如省略,则提取从 start 位置到字符串末端的所有字符。
用法示例


  • 提取固定长度的子字符串
    1. SELECT SUBSTRING('Hello, World!', 8, 5);
    复制代码
    结果:World
  • 从某个位置开始提取到字符串末端
    1. SELECT SUBSTRING('Hello, World!', 8);
    复制代码
    结果:World!
  • 使用负数起始位置
    1. SELECT SUBSTRING('Hello, World!', -6, 5);
    复制代码
    结果:World
其他变体

MySQL 还提供了 SUBSTRING_INDEX 函数,用于基于分隔符提取子字符串。
2. SUBSTRING_INDEX 函数

概述

SUBSTRING_INDEX 函数用于从一个字符串中提取子字符串,方法是基于指定的分隔符截取。你可以指定从字符串的开头或结尾进行截取,提取子字符串。
语法

  1. SUBSTRING_INDEX(string, delimiter, count)
复制代码


  • string:须要提取子字符串的原始字符串。
  • delimiter:分隔符,用于定义截取字符串的界限。
  • count:指定要返回的子字符串的数量。假如 count 为正数,则从字符串开头开始截取;假如为负数,则从字符串末端开始截取。
用法示例


  • 从开头开始基于分隔符截取
    1. SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
    复制代码
    结果:apple,orange
    (表明:count 为 2,因此提取第 1 和第 2 个分隔符之前的子字符串)
  • 从末端开始基于分隔符截取
    1. SELECT SUBSTRING_INDEX('apple,orange,banana', ',', -2);
    复制代码
    结果:orange,banana
    (表明:count 为 -2,因此从末端提取最后 2 个分隔符之后的子字符串)
  • 只提取第一个子字符串
    1. SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 1);
    复制代码
    结果:apple
  • 只提取最后一个子字符串
    1. SELECT SUBSTRING_INDEX('apple,orange,banana', ',', -1);
    复制代码
    结果:banana
总结



  • SUBSTRING 是用于从字符串中提取指定位置和长度的子字符串。
  • SUBSTRING_INDEX 则是基于分隔符从字符串中提取指定数量的子字符串。
这两个函数在字符串处理、数据解析和格式化中非常有用,尤其是在从文本数据中提取特定信息时。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表