为什么这个MySQL存储函数返回null?
谁能解释一下,为什么下面的MySQL存储函数总是返回null?如果我将汇率替换为设定的@美元=欧元*汇率;到了1.1013,效果非常好为什么这个MySQL存储函数返回null?,mysql,sql,stored-functions,Mysql,Sql,Stored Functions,谁能解释一下,为什么下面的MySQL存储函数总是返回null?如果我将汇率替换为设定的@美元=欧元*汇率;到了1.1013,效果非常好 DROP FUNCTION IF EXISTS euro_to_dollar; DELIMITER $$ CREATE FUNCTION euro_to_dollar(euro double) returns double BEGIN DECLARE dollar double; DECLARE exchange_rate double; SET @
DROP FUNCTION IF EXISTS euro_to_dollar;
DELIMITER $$
CREATE FUNCTION euro_to_dollar(euro double) returns double
BEGIN
DECLARE dollar double;
DECLARE exchange_rate double;
SET @exchange_rate = 1.1013;
SET @dollar = euro * exchange_rate;
RETURN @dollar;
END $$
DELIMITER ;
您必须参考@exchange_rate,如下所示:
DROP FUNCTION IF EXISTS euro_to_dollar;
DELIMITER $$
CREATE FUNCTION euro_to_dollar(euro double) returns double
BEGIN
DECLARE dollar double;
DECLARE exchange_rate double;
SET @exchange_rate = 1.1013;
SET @dollar = euro * @exchange_rate;
RETURN @dollar;
END $$
DELIMITER ;
您正在混合不同的变量。尝试设置@dollar=euro*@exchange\u汇率。非常感谢这是解决方案!: