您好,欢迎来到法临律网。
搜索
您的当前位置:首页MySQL存储过程实现split

MySQL存储过程实现split

来源:法临律网


MySQL存储过程实现split MySQL drop PROCEDURE if exists procedure_split;CREATE PROCEDURE `procedure_split`( inputstring varchar(1000), delim char(1))begin declare strlen int DEFAULT length(inputstring); declare last_index int DEFAULT 0; decla

MySQL存储过程实现split MySQL $velocityCount-->
drop PROCEDURE if exists procedure_split;
CREATE PROCEDURE `procedure_split`(
 inputstring varchar(1000),
 delim char(1)
)
begin
 declare strlen int DEFAULT length(inputstring);
 declare last_index int DEFAULT 0;
 declare cur_index int DEFAULT 1;
 declare cur_char VARCHAR(200);
 declare len int;
 drop temporary table if exists splittable;
 create TEMPORARY table splittable(
 value VARCHAR(20)
 ) ;
 WHILE(cur_index<=strlen) DO 
 begin
 if substring(inputstring from cur_index for 1)=delim or cur_index=strlen then
 set len=cur_index-last_index-1;
 if cur_index=strlen then
 set len=len+1;
 end if;
 insert into splittable(`value`)values(substring(inputstring from (last_index+1) for len));
 set last_index=cur_index;
 end if;
 set cur_index=cur_index+1;
 END;
 end while;
end ;
call PROCEDURE_split('中国,开源,社区',',');
select * from splittable;

Copyright © 2019- stylebistro.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务