【发布时间】:2020-04-30 07:40:45
【问题描述】:
DELIMITER //
CREATE FUNCTION fnc_credit_custstatus
RETURNS VARCHAR(6) DETERMINISTIC
BEGIN
DECLARE custstatus VARCHAR(6);
IF CustCredit>='1000',THEN SET custstatus='VIP';
ELSEIF CustCredit<'1000',THEN SET custstatus='NONVIP';
END IF;
RETURN (custstatus);
END//
DELIMITER ;
已执行 1 个查询,0 个成功,1 个错误,0 个警告
查询:
CREATE function fnc_credit_custstatus returns varchar(6) deterministic
begin DECLARE custstatus VARCHAR(6); if CustCredit>='1000...
错误代码:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'varchar(6) 确定性附近使用的正确语法 开始 声明 custstatus VARCHAR(6); 如果 CustCredit>=' 在第 2 行
【问题讨论】:
-
尝试在 if 条件后重新添加逗号 IF CustCredit>='1000' THEN
-
DELIMITER // 创建函数 fnc_credit_custstatus 返回 VARCHAR(6) DETERMINISTIC BEGIN DECLARE custstatus VARCHAR(6); IF CustCredit>=1000,THEN SET custstatus='VIP'; ELSEIF CustCredit
-
我试过了,还是错了
-
IF CustCredit>=1000,THEN SET ???你还没有删除任何逗号 endif 之后还有逗号
-
您为什么要针对字符串测试 custcredit - custcredit 也是字符串吗? (与您的问题没有直接关系)