[SQL] create function f_a1_a2(a1 INTEGER, a2 INTEGER) returns char(50) begin declare a3 int if a1 > a2 a3=a1 RETURN a3; else a3=a2 return a3; end if end ; [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if a1 > a2 a3=a1 RETURN a3; else a3=a2 return a3; end if end' at line 5
时间: 2023-10-16 14:26:56 浏览: 130
在 MySQL 中,应该使用 CASE 语句来实现条件判断。以下是修改后的函数代码:
```
CREATE FUNCTION f_a1_a2(a1 INTEGER, a2 INTEGER) RETURNS CHAR(50)
BEGIN
DECLARE a3 INT;
IF a1 > a2 THEN
SET a3 = a1;
ELSE
SET a3 = a2;
END IF;
RETURN CAST(a3 AS CHAR);
END;
```
在该函数中,我们使用了 IF THEN ELSE 的语法来代替原有的 IF 语句,并且使用了 SET 语句来给变量 a3 赋值。同时,我们将 a3 转换为 CHAR 类型,并在 RETURN 语句中返回。
阅读全文