MySQL函数从查询返回值

我想创建一个使用查询来计算值的函数,但返回值时遇到问题:

简而言之,我的查询是:

CREATE FUNCTION func01(value1 INT , monto DECIMAL (10,2)) RETURNS DECIMAL(10,2)

BEGIN

SET @var_name = 0;

select @var_name=if(value1 = 1,monto * table.divisa_dolar,table.monto *divisa_euro) from table where data_init = 1;

return @var_nam;

END

我收到一个SQL语法错误。

SQL错误(1064):您的SQL语法有错误;

回答:

假设这些都是通用名称(表将不是一个很好的表名),问题是您不能使用==进行比较。您还缺少一些关键语法(DECLARE,SELECT INTO等)。

更改为此:

CREATE FUNCTION func01(value1 INT , monto DECIMAL (10,2))

RETURNS DECIMAL(10,2)

DETERMINISTIC

BEGIN

DECLARE var_name DECIMAL(10,2);

SET var_name = 0;

SELECT if(value1 = 1,monto *divisa_dolar,monto *divisa_euro) INTO var_name

FROM table

WHERE data_init = 1;

RETURN var_name;

END

MySQL比较函数和运算符

相关问题:MYSQL中的单等于

函数帮助:http :

//www.databasejournal.com/features/mysql/article.php/3569846/MySQL-Stored-

Functions.htm

以上是 MySQL函数从查询返回值 的全部内容, 来源链接: utcz.com/qa/435508.html

回到顶部