sql-server-2008 - SSRS 基于逗号分隔列表选择结果

标签 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.

有什么想法吗?

最佳答案

由于 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/

相关文章:

c# - 将参数传递给 MS-Sql 存储过程时出现 DateTimeFormat 问题

另一个数据库中的 SQL 外键

reporting-services - 消除 SSRS 2005 pdf 生成的报告中的空白页

reporting-services - SSRS : Relative URL Hyperlink

ssrs-2008 - 如何在SSRS中的任何列中过滤具有空值的行

sql - 如何在 SQL Server 2008 R2 单选查询中将行转换为列

sql - Cursor ..Ques column Data as Column names and resp. 下的相关答案数据。问题专栏

c# - SQL 报告服务 - 在报告中查找项目 - 加载

sql-server - SSRS 行可见性 - 在切换可见性时隐藏父行

crystal-reports - SSRS 与 Crystal 报表