我有一个表将 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.
有什么想法吗?
最佳答案
由于 SSRS 将以逗号分隔的列表形式返回 @ID,因此最好的方法可能是按 charindex 进行搜索,如下所示:
select * from A
Where charindex(','+cast(id as varchar(max))+',' , ','+@ID+',',1)>0
关于sql-server-2008 - SSRS 基于逗号分隔列表选择结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46464297/