📜  MySQL 中的 SUBSTRING_INDEX()函数(1)

📅  最后修改于: 2023-12-03 14:44:28.383000             🧑  作者: Mango

MySQL 中的 SUBSTRING_INDEX() 函数

MySQL 中的 SUBSTRING_INDEX() 函数可以用于截取字符串。该函数可以基于分隔符从一个字符串中获取指定数量的子串,或者获取到分隔符最后一个部分或第一个部分。

语法
SUBSTRING_INDEX(str,delim,count)
  • str:要截取的原字符串。
  • delim:分隔符。
  • count:要获取的子串数量。如果 count 为正数,则函数会从字符串开始位置向后获取;如果 count 为负数,则会从字符串结尾位置向前获取。
示例

下面是一个使用 SUBSTRING_INDEX() 函数的示例:

SELECT SUBSTRING_INDEX('www.example.com', '.', 2);

该语句的输出结果是:

www.example

这是因为我们使用了点号作为分隔符,同时设定要获取两个子串,因此 MySQL 会返回该字符串中的前两个子串,并以点号作为分隔符。

返回最后一个子串

如果我们想要返回字符串中的最后一个子串,我们可以将参数 count 设为 -1,示例如下:

SELECT SUBSTRING_INDEX('www.example.com', '.', -1);

该语句的输出结果是:

com
返回第一个子串

同样地,如果我们想要返回字符串中的第一个子串,可以设置 count1,如下所示:

SELECT SUBSTRING_INDEX('www.example.com', '.', 1);

该语句的输出结果是:

www
结论

SUBSTRING_INDEX() 函数在 MySQL 中的使用非常广泛,可以帮助我们从字符串中获取到需要的子串信息。在实际开发中,该函数可以用于截取 URL、IP 等常见的字符串格式。需要注意的是,该函数在截取字符串时,可能会存在一些边界情况,需要仔细考虑。