mysql 函数接收不限定参数个数
在 MySQL 中,可以使用可变参数函数来接收不定数量的参数。这些函数的参数列表以“...”表示,它可以在函数体内被解包成一个数组。
例如,下面是一个可以接收任意数量参数的函数:
CREATE FUNCTION sum(... args)
RETURNS INT
BEGIN
DECLARE total INT DEFAULT 0;
DECLARE i INT DEFAULT 1;
WHILE i <= num_args() DO
SET total := total + args[i];
SET i := i + 1;
END WHILE;
RETURN total;
END;
在这个函数中,参数列表以“... args”形式表示,并使用 num_args() 函数获取参数个数。函数体内使用循环和数组索引来遍历参数列表并计算总和。最后,使用 RETURN 语句返回结果。
可以像下面这样调用这个函数:
SELECT sum(1, 2, 3, 4, 5); -- 返回 15
SELECT sum(1, 2, 3); -- 返回 6
SELECT sum(1); -- 返回 1
注意,使用可变参数函数时,需要考虑参数的类型和数量,以避免出现类型错误或参数个数不匹配的情况。
原文地址: https://www.cveoy.top/t/topic/bIPm 著作权归作者所有。请勿转载和采集!