SUBSTRING_INDEX 是 MySQL 中一个非常有用的字符串函数,用于从字符串中提取子字符串,基于指定的分隔符和出现次数。
SUBSTRING_INDEX(str, delim, count)
参数说明:
- str
:要处理的原始字符串
- delim
:分隔符
- count
:指定分隔符出现的次数(正数表示从左开始,负数表示从右开始)
SELECT SUBSTRING_INDEX('www.example.com', '.', 2);
-- 返回: 'www.example'
SELECT SUBSTRING_INDEX('www.example.com', '.', -2);
-- 返回: 'example.com'
SELECT SUBSTRING_INDEX('https://www.example.com/path', '/', 3);
-- 返回: 'https://www.example.com'
SELECT SUBSTRING_INDEX('document.pdf', '.', -1);
-- 返回: 'pdf'
SELECT
SUBSTRING_INDEX('user@example.com', '@', 1) AS username,
SUBSTRING_INDEX('user@example.com', '@', -1) AS domain;
SELECT
SUBSTRING_INDEX('John,Doe,30', ',', 1) AS first_name,
SUBSTRING_INDEX(SUBSTRING_INDEX('John,Doe,30', ',', 2), ',', -1) AS last_name,
SUBSTRING_INDEX('John,Doe,30', ',', -1) AS age;
delim
在字符串中不存在,函数将返回整个字符串count
为 0,函数将返回空字符串在大量数据处理时,SUBSTRING_INDEX 函数可能会影响性能。如果可能,考虑在应用层处理字符串操作,或者在数据库中创建计算列来存储处理后的结果。
希望这个指南能帮助您有效地使用 SUBSTRING_INDEX 函数!