Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个MySQL存储函数返回null?_Mysql_Sql_Stored Functions - Fatal编程技术网

为什么这个MySQL存储函数返回null?

为什么这个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 @

谁能解释一下,为什么下面的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 @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汇率。非常感谢这是解决方案!: