Deterministic | Data access | Mode |
---|---|---|
YES | CONTAINS SQL |
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