逗号分隔字符串,用于在SSRS中查询

时间:2014-05-09 02:10:51

标签: oracle reporting-services ssrs-2008

我有一个SSRS报告,其中包含一个输入值的文本框。用户可以输入以逗号分隔的单个值或多个值。

我的报告查询是:

Select Name, Place from UDetails where BatchNo IN (valuetypedintextbox);

如果用户键入A001,则我的查询返回正确的结果集:

Select Name, Place from UDetails where BatchNo IN ('A001')

但如果他们键入A001,A002,我的查询不会返回正确的结果集,因为它将文本视为单个字符串:
Select Name, Place from UDetails where BatchNo IN ('A001,A002');

因此不会返回任何结果集。我希望SSRS报告发送低于输入值,即'A001','A002'。

我能想到的最简单的方法是使用替换功能替换','但是在这里我不能添加第一个和最后一个引用'。有没有人遇到类似的情况?

Select Name, Place from UDetails where BatchNo IN ('A001','A002');

2 个答案:

答案 0 :(得分:0)

Sql语句可以是一个表达式,因此您可以从头开始构建它,例如:

="Select Name, Place from UDetails where BatchNo IN ('" & Replace(valuetypedintextbox, ",", "','") & "');"

答案 1 :(得分:0)

我会转到数据集属性,参数窗格。我会编辑该参数的参数值并将其设置为:

=拆分(@ valuetypedintextbox,",")