SQL Server函数仅返回第一个字符

时间:2018-08-24 22:41:36

标签: sql-server-2008

我编写了一个SQL Server函数,该函数应返回完整的列数据,例如 Jhon,但由于未知原因,它仅返回第一个字符,如J

CREATE FUNCTION F_GET_USER_INFO(@param1 VARCHAR(60))
RETURNS VARCHAR
AS 
BEGIN 
    DECLARE @vResult VARCHAR

    SELECT @vRESULT = column1
    FROM table1 
    WHERE UPPER(column1) = UPPER(@param1) 

    IF @@ROWCOUNT = 1
        SET @vResult = @vResult
    ELSE
        SET @vResult = -1

    RETURN @vResult
END

1 个答案:

答案 0 :(得分:0)

不仅为datatype部分而且为声明的变量添加了RETURNS VARCHAR(60)大小 return 解决了问题, DECLARE @vResult VARCHAR(60) 如下所示

CREATE FUNCTION F_Function_Name(@param1 VARCHAR(60))

RETURNS VARCHAR(60)
AS 
BEGIN 

DECLARE @vResult VARCHAR(60)

SELECT @vRESULT=column1
    FROM table1 
WHERE  UPPER(column1)=UPPER(@param1) 

IF @@ROWCOUNT=1
    SET @vResult=@vResult
ELSE
    SET @vResult= -1

RETURN @vResult
END
相关问题