值不适用于 SQL 任何地方的变量

Value does not apply to variable in SQL Anywhere

当我尝试执行此函数时出现错误。当我在没有函数且不使用变量的情况下执行命令时,它会起作用,因此我认为该值不适用于我的变量,变量的声明或设置不起作用。如果我使用 SELECT 或 SET 来设置变量并不重要,我会得到同样的错误,字面上只是说:命令无法执行。

CREATE FUNCTION ueberpruefe_kfz_status (@kennzeichen CHAR(15))
RETURNS VARCHAR
AS
BEGIN
    DECLARE @ergebnis VARCHAR

    SELECT STATUS
    INTO @ergebnis
    FROM KFZ
    WHERE KENNZEICHEN = @kennzeichen

    RETURN @ergebnis
END

以下是结构、示例数据和错误的一些屏幕截图: https://picload.org/folder/ldpwa.html

根据图像中看到的 table 结构,您的列 STATUS 似乎是 CHAR 类型。 尝试将您的函数 return 类型从 VARCHAR 更改为 CHAR,例如-

RETURNS CHAR

并将变量@ergebnis 的类型改为 CHAR,如-

DECLARE @ergebnis CHAR

您可以指定 length 和 CHAR,例如 CHAR(15),它应该是 greater than or equal to the length of your STATUS column