首页 > 数据库 > MySQL > 正文

mysql存储过程实现split示例

2024-07-24 12:47:22
字体:
来源:转载
供稿:网友

复制代码 代码如下:

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 ;

您可能感兴趣的文章:

python连接mysql调用存储过程示例Mysql存储过程和函数区别介绍MySql学习心得之存储过程MySQL存储过程中游标循环的跳出和继续操作示例Mysql存储过程循环内嵌套使用游标示例代码MySQL 存储过程中执行动态SQL语句的方法Node.js中调用mysql存储过程示例PHP调用MySQL存储过程并返回值的方法php调用mysql存储过程实例分析MySql存储过程学习知识小结
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表