Procedure: nornix_site.split_string

Information
DeterministicData accessMode
YESCONTAINS SQL

Code

Split string by delimiter

CREATE DEFINER=`root`@`localhost` PROCEDURE `split_string`(IN vPath VARCHAR(255), IN vDelimiter
CHAR(1))
    DETERMINISTIC
    COMMENT 'Split string by delimiter'
BEGIN
 DECLARE tmp VARCHAR(255);
 DROP TEMPORARY TABLE IF EXISTS nornix_site.splitstring;
 CREATE TEMPORARY TABLE IF NOT EXISTS nornix_site.splitstring (
   `pk` TINYINT UNSIGNED NOT NULL auto_increment,
   `part` VARCHAR(255) NOT NULL,
    PRIMARY KEY (`pk`)
 ) ENGINE=MEMORY;
 IF (SUBSTRING(vPath, 1, 1) = vDelimiter) THEN
  SET vPath = SUBSTRING(vPath, 2);
 END IF;
 WHILE LENGTH(vPath) > 0 DO
  SET tmp = SUBSTRING_INDEX(vPath, vDelimiter, 1);
  SET vPath = SUBSTRING(vPath, LENGTH(tmp) + 2);
  INSERT INTO nornix_site.splitstring (`part`) VALUES (tmp);
 END WHILE;
END