- 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 ;
- --该片段来自于http://www.codesnippet.cn/detail/070520133163.html
来源: http://www.codesnippet.cn/detail/070520133163.html