'field list' IN SQL 中的未知列

Unknown column in 'field list' IN SQL

 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 ;

我以为我创建的FUNCTION已经成功了,但是我SELECT这个函数是Error Code: 1054 'field list'

中的未知列 'fnc_credit_custstatus'
 SELECT*, fnc_credit_custstatus AS custstatus
 FROM customer_salon

您必须传递参数..这不是语法,因为您没有定义参数。

drop function if exists f;

DELIMITER //
 CREATE FUNCTION f(custcredit int)
 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 ;
 set @cr = 2000;
 select @cr,f(@cr);

+------+--------+
| @cr  | f(@cr) |
+------+--------+
| 2000 | VIP    |
+------+--------+
1 row in set (0.001 sec)

或者你的情况

SELECT *, f(custcredit) AS custstatus 来自 customer_salon