Malheureusement, mysql ne permet pas aux fonctions de renvoyer des tableaux ou des tables (à ma connaissance), vous devez donc le faire un peu hackly.
Voici un exemple de procédure stockée :
DELIMITER $$
create function splitter_count (str varchar(200), delim char(1)) returns int
return (length(replace(str, delim, concat(delim, ' '))) - length(str)) $$
CREATE PROCEDURE tokenize (str varchar(200), delim char(1))
BEGIN
DECLARE i INT DEFAULT 0;
create table tokens(val varchar(50));
WHILE i <= splitter_count(str, delim) DO
insert into tokens(val) select(substring_index(SUBSTRING_INDEX(str, delim, i+1), delim, -1));
SET i = i + 1;
END WHILE;
END $$
DELIMITER ;
Cela tokenisera votre chaîne et insérera les valeurs dans une table appelée "jetons", un jeton par ligne. Vous devriez pouvoir le modifier pour faire quelque chose d'utile assez facilement. En outre, vous pouvez augmenter la longueur d'entrée de 200.