call PROCEDURE_split('分享,代码,片段',',');
select * from splittable;
如果存在 procedure_split,则删除 PROCEDURE;
CREATE PROCEDURE `procedure_split`(
inputstring varchar(1000),
delim char(1)
)
begin
声明 strlen int DEFAULT length(inputstring);
声明 last_index int DEFAULT 0;
声明 cur_index int DEFAULT 1;
声明 cur_char VARCHAR(200);
声明 len int;
如果存在可拆分则删除临时表;
创建临时表 splittable(
value VARCHAR(20)
) ;
WHILE(cur_index 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;
插入 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 ;