これは私の手順です:
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 に変換するときに変換に失敗しました。
誰かが理由を知っていますか?