[SQL] mysql自定义split存储过程 →→→→→进入此内容的聊天室

来自 , 2019-05-21, 写在 SQL, 查看 146 次.
URL http://www.code666.cn/view/9c415bdd
  1. DROP PROCEDURE IF EXISTS procedure_split;
  2. CREATE PROCEDURE `procedure_split`(
  3.     inputstring VARCHAR(1000),
  4.     delim CHAR(1)
  5. )
  6. BEGIN
  7.     DECLARE strlen INT DEFAULT LENGTH(inputstring);
  8.     DECLARE last_index INT DEFAULT 0;
  9.     DECLARE cur_index INT DEFAULT 1;
  10.     DECLARE cur_char VARCHAR(200);
  11.     DECLARE len INT;
  12.     DROP TEMPORARY TABLE IF EXISTS splittable;
  13.     CREATE TEMPORARY TABLE splittable(
  14.         VALUE VARCHAR(20)
  15.     ) ;
  16.     WHILE(cur_index<=strlen) DO    
  17.     BEGIN
  18.         IF SUBSTRING(inputstring FROM cur_index FOR 1)=delim OR cur_index=strlen THEN
  19.             SET len=cur_index-last_index-1;
  20.             IF cur_index=strlen THEN
  21.                SET len=len+1;
  22.             END IF;
  23.             INSERT INTO splittable(`value`)VALUES(SUBSTRING(inputstring FROM (last_index+1) FOR len));
  24.             SET last_index=cur_index;
  25.         END IF;
  26.         SET cur_index=cur_index+1;
  27.     END;
  28.     END while;
  29. END ;
  30.  
  31.  
  32. //SQL/5492

回复 "mysql自定义split存储过程"

这儿你可以回复上面这条便签

captcha