0

SSRS的新手,运行2005。希望有人能提供帮助!

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

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

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

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

我认为如果您Allow Null values和/或Allow Blank values,它应该忽略该参数。也许是因为它在where子句中?

我怎样才能按照我需要的方式制作这个函数,即如果选中了 NULL 复选框(或未选中并且没有输入值)忽略该参数(或者换句话说,返回所有记录)?

还 - 作为第二个问题 - 是否可以使用LIKE与参数的比较,还是必须始终如此IN

4

1 回答 1

0

尝试将您的WHERE条款更改为:

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

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

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

于 2013-10-25T22:38:44.590 回答