首页 > 解决方案 > MySQL) CONCAT() 函数如何在 REPEAT LOOP 中工作?

问题描述

DELIMITER $$

CREATE PROCEDURE RepeatDemo()
BEGIN
    DECLARE counter INT DEFAULT 1;
    DECLARE result VARCHAR(100) DEFAULT 'test string';

    REPEAT
        SET result = CONCAT(result, counter, ',');
        SET counter = counter + 1;
    UNTIL counter >= 10
    END REPEAT;

    -- display result
    SELECT result;
END$$

DELIMITER ;
CALL RepeatDemo(); // = 1,2,3,4,5,6,7,8,9,

我正在使用网站上的REPEAT关键字学习基本循环。通过传递关键字,变量通过函数显示每个数字 1 到 9 。REPEATresultCONCAT()

我不明白的是变量如何以及为什么result引用代码中的每个数字。

该教程说使用该CONCAT()函数将counter值添加到result变量(听起来像覆盖):

使用 CONCAT() 函数将值附加counter到变量。result. .

我用谷歌搜索了CONCAT() w3resource,但找不到关于覆盖的信息。

这段代码是如何工作的?

标签: mysqlfunctionloopsrepeatconcat

解决方案


推荐阅读