mysql储存过程数组

目录

开始

1、创建存储过程

2、调用存储过程

结束


开始

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

结束

猜你喜欢

转载自blog.csdn.net/liguoqingxjxcc/article/details/81537714