通过 LIKE 运算符在 SSRS 中使用参数

Using Parameters in SSRS with LIKE operator

我正在尝试创建一个报告,其中包含各种产品组的列表作为参数。当 select 访问每个组时,应该会出现这些相关产品的列表。我目前得到一个空白 table。

当我执行查询时显示该产品组的结果。

我有如下参数和值列表:

我正在努力寻找哪里出了问题,当我预览报告时,我可以 select 每个参数,但在报告中得到一个空的 table。我希望我给每个参数一个值的方式可能是问题所在,但无法弄清楚。

这是报表中的查询。

DECLARE @ProductCode VARCHAR(12)

SELECT STRC_CODE, STRC_DESC FROM DeFactoUser.F_ST_Products
WHERE STRC_CODE LIKE @ProductCode

我正在使用 Visual Studio Data Tools 2012 来构建报告。

如果有人能给我一个线索,那将不胜感激。

It doesn't work without the quotes. I thought the quotes and wildcard would be necessary to allow the LIKE operator to work.

首先你不需要使用引号,我现在试着重现它,它没有引号也能工作:

其次,SSRS 发送到服务器的查询如下所示:

exec sp_executesql N'select model
from [dbo].[cars]
where model like @car',N'@car nvarchar(3)',@car=N'ca%'

所以它根据您的代码唯一改变的是参数类型,它始终将其声明为 unicode,即 nvarchar(...),因此在 SSMS 中尝试将参数类型更改为nvarchar(12):

declare ProductCode nvarchar(5) = N'PA.A%'

尝试在SSMS中执行,看看returns是否成功