MySql 中 SUBSTRING_INDEX()用法

发布时间 2024-01-10 14:11:50作者: Kllin

SUBSTRING_INDEX() 函数用于从一个指定分隔符分隔的字符串中提取子串。它返回一个字符串,包含在原始字符串中出现在指定分隔符之前或之后的所有字符。

以下是 SUBSTRING_INDEX() 函数的语法:

SUBSTRING_INDEX(str, delim, count)

其中,str 是要分割的字符串;delim 是指定的分隔符;count 是指定分隔符出现的次数,表示要返回的子串应包含多少个分隔符。

例如,假设你有一个名为 "users" 的表,其中包含一个 "profile" 列,该列包含逗号分隔的用户详细信息。你可以使用以下查询来从 "profile" 列中提取年龄信息:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(profile, ',', 3), ',', -1) AS age
FROM users;

在上面的查询中,首先使用 SUBSTRING_INDEX(profile, ',', 3) 获取字符串中前三个逗号分隔的子串,然后使用 SUBSTRING_INDEX() 函数的第二个参数设置为 ',' 和 -1,获取分隔符最后一次出现后的所有字符。这样就可以获取年龄信息。

需要注意的是,如果没有找到指定的分隔符,SUBSTRING_INDEX() 函数将返回整个字符串。