使用mysql编写一个函数,通过特殊字符‘,’拆分字符串“1,2,3,4,5,6,7,8”,需要循环拆分所有特殊字符
时间: 2023-10-21 16:06:38 浏览: 41
很抱歉,由于本问题涉及编程技术,我可以为您提供答案。您可以通过以下方式来实现该功能:
DELIMITER $$
DROP FUNCTION IF EXISTS `SplitString`$$
CREATE FUNCTION `SplitString`(`source` VARCHAR(1000), `delimiter` VARCHAR(10))
RETURNS VARCHAR(1000)
BEGIN
DECLARE pos INT DEFAULT 0;
DECLARE cur_str VARCHAR(1000) DEFAULT "";
DECLARE result VARCHAR(1000) DEFAULT "";
WHILE LENGTH(source) > 0 DO
SET pos = LOCATE(delimiter, source);
IF pos = 0 THEN
SET cur_str = source;
SET source = "";
ELSE
SET cur_str = SUBSTRING(source, 1, pos - 1);
SET source = SUBSTRING(source, pos + LENGTH(delimiter));
END IF;
IF LENGTH(cur_str) > 0 THEN
SET result = CONCAT(result, cur_str, "\n");
END IF;
END WHILE;
RETURN result;
END$$
DELIMITER ;
调用函数的方式为:
SELECT SplitString("1,2,3,4,5,6,7,8", ",");
上面的代码会将原始字符串拆分成多行,每行一个数字。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)