语法:
SUBSTRING_INDEX() 是 MySQL 中的一个字符串函数,它返回一个字符串,该字符串包含从字符串的开始或结束到指定的子字符串出现指定次数为止的部分。这个函数的语法如下:
SUBSTRING_INDEX(string, delimiter, count)
string:要操作的原始字符串。delimiter:用作分隔符的子字符串。count:一个整数,指定从哪个部分开始提取子字符串。如果count是正数,函数从字符串的开始处向结束处返回子字符串;如果count是负数,函数从字符串的结束处向开始处返回子字符串。
以下是一些 SUBSTRING_INDEX() 函数的用法示例:
1. 从字符串开始处提取:
SELECT SUBSTRING_INDEX('www.example.com', '.', 2);
这将返回 www.example,因为函数从字符串的开始处提取了第一个和第二个.之间的部分。
2. 从字符串结束处提取:
SELECT SUBSTRING_INDEX('www.example.com', '.', -1);
这将返回 com,因为函数从字符串的结束处提取了最后一个.之后的部分。
3. 提取多个部分:
SELECT SUBSTRING_INDEX('www.example.com', '.', 3);
这将返回 www.example.com,因为函数从字符串的开始处提取了第一个和第三个.之间的所有部分。
4. 使用空字符串作为分隔符:
SELECT SUBSTRING_INDEX('wwwexamplecom', '', 2);
这将返回 w,因为函数从字符串的开始处提取了第一个空字符串(实际上是第一个字符)。
5. 使用多个字符作为分隔符:
SELECT SUBSTRING_INDEX('www_example_com', '_', 2);
这将返回 www_example,因为函数从字符串的开始处提取了第一个和第二个_之间的部分。
6. 当分隔符不存在时:
SELECT SUBSTRING_INDEX('wwwexamplecom', '.', 1);
这将返回整个字符串 wwwexamplecom,因为.作为分隔符在字符串中不存在。
SUBSTRING_INDEX() 函数在处理 URL、路径或任何需要基于特定分隔符分割字符串的场景中非常有用。
