尝试在SQL Server中编写此存储过程时出现此错误。对于我的生活,我不知道为什么。有线索吗?
BEGIN
declare @output varchar(max)
select @output = COALESCE(@output + ',','') + CONVERT(varchar(150), AGE_START)
from tblRaceCategories
where RACE_ID = 13
return @output
END
我得到的错误是:
转换varchar值时转换失败' 5,8,11,16,21,31,41,51,61,16,21,31,41,51,61'数据类型int。
哪个没有意义,我已将@output
声明为varchar
,我已将AGE_START
转换为varchar
。我在这里缺少什么?
答案 0 :(得分:3)
返回值只能是int
类型,即转换失败的位置。
使用输出变量而不是返回字符串。例如:
create procedure Demo
@output varchar(max) out
as
...