Helaas laat mysql functies geen arrays of tabellen retourneren (die ik ken), dus je moet dit een beetje hacky doen.
Hier is een voorbeeld van een opgeslagen proces:
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 ;
Dit zal uw tekenreeks tokeniseren en de waarden invoegen in een tabel met de naam "tokens", één token per rij. Je zou het moeten kunnen aanpassen om vrij gemakkelijk iets nuttigs te doen. U kunt ook de invoerlengte verhogen van 200.