Malheureusement, mysql ne permet pas aux fonctions de retourner des tableaux ou des tableaux (que je connais), donc vous devez le faire un peu de manière hackily.
Voici un exemple de proc stocké:
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 tokenizer votre chaîne, et insérez les valeurs dans une table appelée « jetons », un jeton par ligne. Vous devriez être capable de le modifier pour faire quelque chose d'utile assez facilement. En outre, vous pouvez augmenter la longueur d'entrée de 200.