MySQL中GROUP_CONCAT的对立面是什么?

MySQL中GROUP_CONCAT的对立面是什么?,第1张

MySQL中GROUP_CONCAT的对立面是什么?

我认为这是您需要的(存储过程):Mysql将列字符串拆分为行

DELIMITER $$DROp PROCEDURE IF EXISTS explode_table $$CREATE PROCEDURE explode_table(bound VARCHAr(255))BEGINDECLARE id INT DEFAULT 0;DECLARE value TEXT;DECLARE occurance INT DEFAULT 0;DECLARE i INT DEFAULT 0;DECLARE splitted_value INT;DECLARE done INT DEFAULT 0;DECLARE cur1 CURSOR FOR SELECT table1.id, table1.value    FROM table1    WHERe table1.value != '';DECLARE ConTINUE HANDLER FOR NOT FOUND SET done = 1;DROp TEMPORARY TABLE IF EXISTS table2;CREATE TEMPORARY TABLE table2(`id` INT NOT NULL,`value` VARCHAr(255) NOT NULL) ENGINE=Memory;OPEN cur1;  read_loop: LOOP    FETCH cur1 INTO id, value;    IF done THEN      LEAVE read_loop;    END IF;    SET occurance = (SELECT LENGTH(value)       - LENGTH(REPLACE(value, bound, ''))       +1);    SET i=1;    WHILE i <= occurance DO      SET splitted_value =      (SELECT REPLACE(SUBSTRINg(SUBSTRING_INDEX(value, bound, i),      LENGTH(SUBSTRING_INDEX(value, bound, i - 1)) + 1), ',', ''));      INSERT INTO table2 VALUES (id, splitted_value);      SET i = i + 1;    END WHILE;  END LOOP;  SELECT * FROM table2; CLOSE cur1; END; $$


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4986252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存