Sayangnya, mysql tidak mengizinkan fungsi mengembalikan array atau tabel (yang saya tahu) jadi Anda harus melakukan ini dengan sedikit retas.
Berikut adalah contoh proc yang tersimpan:
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 ;
Ini akan menandai string Anda, dan memasukkan nilainya ke dalam tabel yang disebut "token", satu token per baris. Anda harus dapat memodifikasinya untuk melakukan sesuatu yang berguna dengan cukup mudah. Selain itu, Anda mungkin ingin menambah panjang input dari 200.