这是我的程序:
create proc spasdf
@sdate int,
@edate int
as
DECLARE @LoopCounter INT = @sdate
WHILE @LoopCounter <= @edate)
BEGIN
SET @LoopCounter = @LoopCounter + 1
declare @value varchar(30)
set @value = '['+@LoopCounter+']'
select UserID, UserName, @value
from vwfinal
END
我使用以下方法运行它:
spasdf 1,5
我的预期结果是:
@value=[1],[2],[3],[4],[5]
当我将参数传递给我的存储过程时,它会显示此错误
消息 245,级别 16,状态 1,过程 spasdf,第 40 行将
varchar 值“[”转换为数据类型 int 时转换失败。
有谁知道为什么?