【发布时间】:2020-05-08 09:26:57
【问题描述】:
有一个where语句:
WHERE (@obsolete=(case when part.drawissno = 'OBS' then 'OBS' else 'NO' end) or @obsolete is null)
and ((CASE WHEN part.sm = 'MANUFACTURED' THEN mpfmain.mpflang END) = @country or @country IS NULL)
参数在 SQL Server 中可以正常工作,但是当添加到报表中时,除 null 之外的所有值都不起作用。参数 @country 具有以下值:德国、西班牙、法国、意大利。报告中的参数仅在用户必须自己输入国家/地区时才起作用。如果在参数属性中写入可用值,它们将不起作用。此处未包含的其他参数可以正常工作,但它们本身没有 CASE。会不会是 CASE 表达式的问题?
【问题讨论】:
-
不是case表达式的问题。几乎可以肯定是值不匹配的问题。如果我没记错的话,SSRS 在处理参数时是区分大小写的——而 SQL Server 不是。
标签: sql sql-server reporting-services reporting