首页 >数据库 >mysql教程 >mysql存储过程实现split示例_MySQL

mysql存储过程实现split示例_MySQL

WBOY
WBOY原创
2016-06-01 13:15:52836浏览


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 ;

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn