TSQL / SSRS:将LIKE与多值参数一起使用

时间:2015-02-06 18:19:55

标签: tsql reporting-services ssrs-2008-r2

我正在尝试使用具有多值参数的LIKE来确定过滤记录的解决方案。在一个简单的示例中,用户希望通过在SSRS报告的参数窗口中输入以下内容来返回一组5位数的对象代码:

@parm_Object

1,24,333,34567

理想情况下,这将返回满足以下条件的对象代码:

1:所有对象代码以' 1'

开头

24:所有对象代码以' 24'

开头

333:类似

34567:对象代码' 34567'

我想我的出发点是确定是否可以在实际查询中处理,或者我应该在SSRS端进行处理。

1 个答案:

答案 0 :(得分:0)

一般的良好做法是尽快摆脱不需要的数据。所以这将在查询中。

SSRS多值参数将在查询中显示为逗号分隔列表。

第一步是从这个以逗号分隔的列表到表(或表函数),然后你可以加入这个表并应用类似的运算符

例如

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS a
INNER JOIN  dbo.split1('test,fafa,tata') b
ON 1=1
WHERE a.COLUMN_NAME like b.Value + '%'

将返回列名以test,fafa或tata开头的行。 dbo.split1函数你必须自己编写或从互联网上获取一个。 Tab Alleman建议的链接。