MySQL SUBSTRING_INDEX() 函数

MySQL SUBSTRING_INDEX() 函数返回一个字符串中出现在指定次数的指定分隔符之前的子字符串。

SUBSTRING_INDEX() 语法

这里是 MySQL SUBSTRING_INDEX() 函数的语法:

SUBSTRING_INDEX(str, delim, count)

参数

str
必需的。原字符串。
delim
必需的。在原字符串中搜索的分隔符。
count
必需的。分隔符出现的次数。如果 count 为负数,则从字符串尾部向前开始计数分隔符,返回分隔符之后的子字符串。

返回值

SUBSTRING_INDEX() 函数返回一个字符串中出现在指定次数的指定分隔符之前的子字符串。

  • 如果参数 count 等于 0, SUBSTRING_INDEX() 函数返回一个空字符串 '';
  • 如果参数 count 为负数时, 则从字符串尾部向前开始计数分隔符,返回分隔符之后的子字符串。
  • 如果任意一个参数为 NULL 时, SUBSTRING_INDEX() 函数将返回 NULL

SUBSTRING_INDEX() 示例

这里列出了几个常见的 SUBSTRING_INDEX() 示例。

SELECT
    SUBSTRING_INDEX('www.mysql.com', '.', 2),
    SUBSTRING_INDEX('www.mysql.com', '.', -2),
    SUBSTRING_INDEX('www.mysql.com', '.', 0)\G
*************************** 1. row ***************************
 SUBSTRING_INDEX('www.mysql.com', '.', 2): www.mysql
SUBSTRING_INDEX('www.mysql.com', '.', -2): mysql.com
 SUBSTRING_INDEX('www.mysql.com', '.', 0):