MySQL / Maria DB 10.1.30:电源函数语法错误

时间:2018-02-15 15:43:09

标签: mysql

ERROR

在shell中我一直在尝试创建下面的集成POWER函数,但我无法让它工作。我确信语法在逻辑上是正确的,除非我错过了逗号。它在PHPMyAdmin或Shell上都不起作用:

   DELIMITER //
   CREATE FUNCTION exponent(  m FLOAT,   n FLOAT)
   RETURNS   FLOAT ;
   BEGIN
   DECLARE a FLOAT;
   a=POW(m,n);
   RETURN a;
   END ; //  
  • 数据库:默认[Mysql]
  • 操作系统:Windows 10 64位
  • PHP版本:7.2.1
  • 使用的服务器:XAMPP 7.2.1

2 个答案:

答案 0 :(得分:0)

在MySQL存储程序中为声明的过程变量赋值的语法使用SET关键字:

   DECLARE a INTEGER ; 
   SET a = expr ;
-- ^^^

答案 1 :(得分:0)

我在SO外面得到了答案。问题是我使用INT而不是FLOAT作为数据类型。 RETURNS FLOAT也没有分号。完整的工作代码是:

DELIMITER //
CREATE FUNCTION exponent(m FLOAT,n FLOAT)
RETURNS FLOAT
BEGIN
DECLARE a FLOAT  ;
SET a=POWER(m,n);
RETURN a;
END;  //

使用代码是:

  DELIMITER ;
  SELECT exponent(variable1, variable 2);

问题已得到解答,现在可以关闭。