MYSQL——Split字符串并且插入值

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MYSQL——Split字符串并且插入值
BEGIN
  #添加项目资料 3,1,1,2,'1;2'
  DECLARE tdocId int;#声明一个输出值
  DECLARE s int default 0; #声明一个判断游标到最后的检测值
  DECLARE tyoub CURSOR FOR SELECT `value` from zzsplittable;#设置一个游标
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET s=1;  #设置游标到最后的条件
  call zzSplist(i_docIds,';');#调取函数分割字符串
  OPEN tyoub; #打开游标开始遍历
  FETCH tyoub INTO tdocId;   
  while s <> 1 do  
     INSERT INTO oa_doc_pro(projectid,docid) VALUES(i_proId,tdocId); #输出值的操作
     FETCH tyoub INTO tdocId; #游标到下一个
  end while;  
  CLOSE tyoub; #关闭游标
END

zzSplit存储过程

CREATE  PROCEDURE `zzSplist`(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 zzsplittable;
    create TEMPORARY table zzsplittable(
        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 zzsplittable(`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
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
SQL 存储 关系型数据库
|
SQL Oracle 关系型数据库
MySQL之如何将字符串分隔为列表结果集
MySQL之如何将字符串分隔为列表结果集
719 1
|
关系型数据库 MySQL 数据库
MySQL数据库-截取字符串
MySQL数据库-截取字符串
120 0
|
关系型数据库 MySQL 数据库
MySQL数据库-字符串位数不够前面补0
MySQL数据库-字符串位数不够前面补0
237 0
|
关系型数据库 MySQL
MySQL清除字符串首尾空格函数
MySQL清除字符串首尾空格函数
124 0
|
存储 NoSQL 关系型数据库
7.4.4 【MySQL】索引字符串值的前缀
7.4.4 【MySQL】索引字符串值的前缀
119 0
|
SQL 自然语言处理 关系型数据库
MySQL的match匹配多个字符串的语法
【8月更文挑战第27天】MySQL的match匹配多个字符串的语法
463 67
|
3月前
|
关系型数据库 MySQL
MySQL字符串拼接方法全解析
本文介绍了四种常用的字符串处理函数及其用法。方法一:CONCAT,用于基础拼接,参数含NULL时返回NULL;方法二:CONCAT_WS,带分隔符拼接,自动忽略NULL值;方法三:GROUP_CONCAT,适用于分组拼接,支持去重、排序和自定义分隔符;方法四:算术运算符拼接,仅适用于数值类型,字符串会尝试转为数值处理。通过示例展示了各函数的特点与应用场景。
|
存储 关系型数据库 MySQL
MySQL中的列类型之字符串类型总结
MySQL中的列类型之字符串类型总结
687 1
|
SQL 自然语言处理 关系型数据库
MySQL的match匹配多个字符串的语法
【8月更文挑战第29天】MySQL的match匹配多个字符串的语法
553 3

推荐镜像

更多