我编写了一个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
答案 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