如何在MySQL存储过程中模拟split()

avatar
作者
筋斗云
阅读量: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()函数的功能。调用该存储过程并传入待分割的字符串和分隔符,即可得到分割后的子串列表。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!