我正在处理SSRS报告,用户可以输入多个数字来恢复相关数据。要求是使用户能够输入多个值。
所以我有一个参数@serial
,它可以只是一个值或任何高达100的值
我似乎无法弄清楚如何将每个值从nvarchar
转换为int
我已尝试SET @Serials = CONVERT(INT,@Serials)
,但收到以下错误消息
转换
nvarchar
值' 123 456&#39>时,会话失败到数据类型int
如果我使用@serial
作为int
,则会收到以下错误消息
INSERT语句中的列少于VALUES caluse中的值。 VALUES caluse中的值的数量必须与INSERT语句中指定的列数相匹配
上面的错误是我在下面的代码行
中插入临时表时INSERT INTO @Temp
(TMP_SerialNo)
VALUES (@serial)
如果有人指导我在哪里出错,我会非常感激
答案 0 :(得分:-1)
在SSRS报告中执行此操作的最简单方法是添加强制转换以将其置于int中。 您不能将值插入SSRS报告,只能插入SQL表。
我在开头(选择之前)添加了这个:
DECLARE @temp_Status integer;
set @temp_Status = CAST(SomeStatus as int);
And then use everywhere the var @temp_Status.