'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
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