我正在尝试使用具有多值参数的LIKE来确定过滤记录的解决方案。在一个简单的示例中,用户希望通过在SSRS报告的参数窗口中输入以下内容来返回一组5位数的对象代码:
@parm_Object
1,24,333,34567
理想情况下,这将返回满足以下条件的对象代码:
1:所有对象代码以' 1'
开头24:所有对象代码以' 24'
开头333:类似
34567:对象代码' 34567'
我想我的出发点是确定是否可以在实际查询中处理,或者我应该在SSRS端进行处理。
答案 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建议的链接。