拆分字符串并循环遍历 MySQL 过程中的值?

要拆分字符串并循环遍历 MySQL 过程中的所有值,您不需要使用REPLACE()函数。要理解,首先创建一个存储过程,然后创建一个表并使用一些值调用存储过程。该值将被插入到表中。

创建存储过程的查询如下:

mysql> DELIMITER //

mysql> CREATE PROCEDURE SP_SplitString(Value longtext)

   -> BEGIN

   -> DECLARE front TEXT DEFAULT NULL;

   -> DECLARE frontlen INT DEFAULT NULL;

   -> DECLARE TempValue TEXT DEFAULT NULL;

   -> iterator:

   -> LOOP  

   -> IF LENGTH(TRIM(Value)) = 0 OR Value IS NULL THEN

   -> LEAVE iterator;

   -> END IF;

   -> SET front = SUBSTRING_INDEX(Value,',',1);

   -> SET frontlen = LENGTH(front);

   -> SET TempValue = TRIM(front);

   -> INSERT INTO store (allValues) VALUES (TempValue);

   -> SET Value = INSERT(Value,1,frontlen + 1,'');

   -> END LOOP;

   -> END //

mysql> DELIMITER ;

现在创建一个表来存储存储过程的值。创建表的查询。

mysql> CREATE TABLE store(

   -> Id int NOT NULL AUTO_INCREMENT,

   -> allValues varchar(30),

   -> PRIMARY KEY(Id)

   -> );

显示表中的所有记录。查询如下:

mysql> select *from store;

Empty set (0.00 sec)

最初我们在表中没有任何记录。让我们使用 CALL 命令调用存储过程。查询如下:

mysql> call SP_SplitString('Hi,Hello,Good Morning,Bye');

调用完上面的存储过程后,让我们再次检查表记录。显示表中所有记录的查询如下:

mysql> select *from store;

以下是输出:

+----+--------------+

| Id | allValues    |

+----+--------------+

|  1 | Hi           |

|  2 | Hello        |

|  3 | Good Morning |

|  4 | Bye          |

+----+--------------+

4 rows in set (0.00 sec)

以上是 拆分字符串并循环遍历 MySQL 过程中的值? 的全部内容, 来源链接: utcz.com/z/335632.html

回到顶部