| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 
 |  
DELIMITER $$
DROP PROCEDURE IF EXISTS `explode`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `explode`(  strDelimiter VARCHAR(255), 
                                                        strToExplode VARCHAR(255))
BEGIN
    SET @str = strToExplode;
    SET @endExplode = false;
 
    WHILE @endExplode = false DO
        #On récupére la valeur précédent la premiére virgule de la chaine.
        SET @subStr     = substring_index(@str, strDelimiter,  1);
        #On retire la premiére parti de la chaine et sa virgule.
        SET @str = substring(@str, locate(strDelimiter, @str)+1);
 
        SELECT @subStr ;
 
        IF 
            locate(strDelimiter, @str) = 0
        THEN
            SELECT @str ;
            SET @endExplode = true; 
        END IF;
    END WHILE;
END$$
 
#Exemple
CALL explode(',', '12,18,25,7,6,914')$$ |