当检查为null时,SSRS 2005参数不返回任何结果

时间:2013-10-25 22:22:08

标签: checkbox reporting-services

SSRS的新手,2005年。我希望有人可以提供帮助!

我有一个带有参数的报告,ItemNum。我将它作为字符串,允许NULL值允许空值,可用值中没有任何内容,并且为默认值选择了 null 。然后,我在WHERE语句SELECT where item_num IN (@ItemNum)中有where部分。

当我预览报告时,如果我:

,我得不到任何结果

选中NULL复选框(显然Item#参数为空,它显示为灰色)或 取消选中NULL复选框,但不要在参数中添加值。

我可以获得任何结果的唯一方法是输入有效的项目编号。

我认为如果你允许空值和/或允许空值,它应该忽略该参数。也许是因为它在LIKE条款中?

如何以我需要的方式创建此函数,即如果选中NULL复选框(或未选中并输入NO值)则忽略该参数(或换句话说,返回所有记录)?

另外 - 作为第二个问题 - 可以使用IN与参数进行比较,还是始终必须{{1}}?

1 个答案:

答案 0 :(得分:0)

尝试将WHERE子句更改为:

WHERE @ItemNum is null OR item_num IN (@ItemNum)

在这种情况下,您需要明确检查NULL

实际上,为什么要将IN用于单个值?它通常用于检查许多值,例如WHERE item_num IN (1, 2, 3, 5, 10)。一个简单的=就足够了。