阅读量:0
在MySQL存储过程中,可以使用SUBSTRING_INDEX函数来模拟split()函数的功能。SUBSTRING_INDEX函数可以根据指定的分隔符将字符串分割成多个部分,并返回其中的一个部分。
以下是一个示例存储过程,可以实现类似于split()函数的功能:
DELIMITER $$ CREATE PROCEDURE split_string(str VARCHAR(255), delim VARCHAR(10)) BEGIN DECLARE pos INT; DECLARE start_pos INT DEFAULT 1; DECLARE end_pos INT; DECLARE part VARCHAR(255); SET pos = LOCATE(delim, str, start_pos); WHILE pos > 0 DO SET end_pos = pos - start_pos; SET part = SUBSTRING(str, start_pos, end_pos); SELECT part; SET start_pos = pos + LENGTH(delim); SET pos = LOCATE(delim, str, start_pos); END WHILE; SET part = SUBSTRING(str, start_pos); SELECT part; END$$ DELIMITER ;
使用以上存储过程可以实现类似于split()函数的功能。调用该存储过程并传入待分割的字符串和分隔符,即可得到分割后的子串列表。