在MySQL存儲(chǔ)過(guò)程中,可以使用SUBSTRING_INDEX函數(shù)來(lái)模擬split()函數(shù)的功能。SUBSTRING_INDEX函數(shù)可以根據(jù)指定的分隔符將字符串分割成多個(gè)部分,并返回其中的一個(gè)部分。
以下是一個(gè)示例存儲(chǔ)過(guò)程,可以實(shí)現(xiàn)類似于split()函數(shù)的功能:
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 ;
使用以上存儲(chǔ)過(guò)程可以實(shí)現(xiàn)類似于split()函數(shù)的功能。調(diào)用該存儲(chǔ)過(guò)程并傳入待分割的字符串和分隔符,即可得到分割后的子串列表。