通过 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是否成功
我正在尝试创建一个报告,其中包含各种产品组的列表作为参数。当 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是否成功