MySQL中的SUBSTRING_INDEX函数用于从字符串中提取子字符串,其用法如下:
SUBSTRING_INDEX(str, delim, count)
参数说明:
str
:要提取子字符串的原始字符串。delim
:分隔符,用于确定子字符串的位置。count
:指定要返回的子字符串的数量。如果为正数,则从字符串的起始位置开始计数;如果为负数,则从字符串的末尾开始计数。下面是SUBSTRING_INDEX函数的一些示例:
SELECT SUBSTRING_INDEX('www.example.com', '.', 1);
-- 输出结果为 'www'
在这个例子中,'.'是分隔符,1表示返回第一个子字符串。
SELECT SUBSTRING_INDEX('www.example.com', '.', -1);
-- 输出结果为 'com'
在这个例子中,使用-1表示返回最后一个子字符串。
SELECT SUBSTRING_INDEX('www.example.com', '.', 2);
-- 输出结果为 'www.example'
在这个例子中,使用2表示返回前两个子字符串。
SELECT SUBSTRING_INDEX('www.example.com', 'foo', 1);
-- 输出结果为 'www.example.com'
在这个例子中,分隔符’foo’在字符串中不存在,因此返回原始字符串。
需要注意的是,如果指定的分隔符在字符串中不存在,或者出现次数超过实际分隔符的出现次数,SUBSTRING_INDEX函数将返回整个原始字符串。此外,如果指定的分隔符是空字符串(“”),则将返回整个字符串的副本。