目录
开始
1、创建存储过程
DROP PROCEDURE IF EXISTS array;
DELIMITER $$
CREATE PROCEDURE `array`(OUT arrayStr VARCHAR(1024))
BEGIN
SET @array_content="1 2 13 14 5 6 7 8 9 10 11 12";
SET @i=1;
SET @count = CHAR_LENGTH(@array_content)-CHAR_LENGTH(REPLACE(@array_content,' ','')) + 1;
-- 不申明结果为NULL
SET arrayStr = '';
WHILE @i <= @count
DO
IF(@i != 1) THEN
SELECT CONCAT(arrayStr, ',', SUBSTRING_INDEX(SUBSTRING_INDEX(@array_content,' ',@i),' ',-1)) INTO arrayStr;
ELSE
SELECT CONCAT(arrayStr, SUBSTRING_INDEX(SUBSTRING_INDEX(@array_content,' ',@i),' ',-1)) INTO arrayStr;
END IF;
SET @i=@i+1;
END WHILE;
END;
2、调用存储过程
CALL array(@arrayStr);
SELECT @arrayStr;
执行结果为:
1,2,13,14,5,6,7,8,9,10,11,12