【问题标题】:TSQL / SSRS : Using LIKE with multi-valued parametersTSQL / SSRS:将 LIKE 与多值参数一起使用
【发布时间】:2015-04-06 23:28:59
【问题描述】:

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

@parm_Object

1,24,333,34567

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

1 : 所有以“1”开头的对象代码

24:所有以“24”开头的对象代码

333:类似

34567:对象代码“34567”

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

【问题讨论】:

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


【解决方案1】:

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

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

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

例如

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 建议的链接。

【讨论】:

    猜你喜欢
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 2011-05-24
    相关资源
    最近更新 更多