我是一名学生,我试图让我的函数返回我选择的结果,但我不知道要在 RETURN
中放入什么。
例如,我尝试使用数学运算创建函数,并且它可以正常工作,例如:
DELIMITER $$
CREATE FUNCTION `getScore`(`a` INT, `b` INT, `c` INT) RETURNS INT
BEGIN
RETURN a + b + c;
END$$
DELIMITER ;
SELECT getScore(0.3, 0.4, 0.5);
但我的问题是在这个函数中,我不知道在 RETURN
中放什么或者如何检查这个函数:
DELIMITER $$
CREATE FUNCTION `getCharacters`() RETURN
BEGIN
SELECT *
FROM `characters`
WHERE `level` > 50
END$$
DELIMITER ;
SELECT getCharacters();
我有下一个错误:
A "RETURNS" keyword was expected. (near "RETURN" at position 34)
感谢您的帮助,请原谅我的英语不好。
最佳答案
一个 MySQL 函数只能返回一个值。您可以改用存储过程:
DELIMITER $$
CREATE PROCEDURE `getCharacters`()
BEGIN
SELECT *
FROM `characters`
WHERE `level` > 50;
END $$
DELIMITER ;
CALL getCharacters;
可以在此处找到有关存储过程和函数之间差异的更多信息:MySQL stored procedure vs function, which would I use when?
关于mysql - 如何在 MySQL 的函数中返回选择的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54118446/