SSRS基于逗号分隔列表选择结果

时间:2017-09-28 08:21:35

标签: sql-server-2008 reporting-services ssrs-2008

我有一个将ID存储为INT的表,例如表A:

|  ID  |  Name
   1       A
   2       B
   3       C

我有一个问题:

SELECT * FROM A WHERE ID IN (@ID)

此变量@ID将来自SSRS中输入参数部分的逗号分隔列表。输入将类似于1,2,3

当我运行它时,我收到以下错误:

Conversion failed when converting the nvarchar value '1,2,3' to data type int.

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

由于SSRS将以逗号分隔列表的形式返回@ID,最好的方法是通过charindex搜索:

select * from A 
Where charindex(','+cast(id as varchar(max))+',' , ','+@ID+',',1)>0