mysql存储过程实现split示例

复制代码 代码如下: call PROCEDURE_split('分享,代码,片段',','); select * from splittable; 复制代码 代码如下: drop PROCEDURE if exists procedure_split; CREATE PROCEDURE `procedure_split`( inputstring varchar(1000), delim

复制代码 代码如下:call PROCEDURE_split('分享,代码,片段',',');select * from splittable;

复制代码 代码如下: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 ;