-2

初学者的问题:在 SSRS 报告 (Visual Studio 2008) 中,当接受 Null 值的参数设置为 Null 时,它实际上包含什么?

NULL
''

或者是其他东西?

特别是我很好奇 2008 R2 在收到该参数时会看到什么。

4

2 回答 2

0

NULL仅表示尚未分配值。所以这是缺乏价值而不是实际价值。

特别是,空字符串不是Null,它是一个被赋值为零长度字符串的字符串,这与根本没有值不同。数值相同 -Null并不意味着0哪个是特定的数值,它意味着根本没有分配任何值。例如,如果您有一个名为的字段Siblings,它是一个人拥有的兄弟姐妹的数量,如果该字段有,0我们将知道他们没有兄弟姐妹;但是,如果字段是Null,则意味着我们不知道他们有多少兄弟姐妹。

对于布尔值,可以为空将它们从具有可能值的二元运算符和具有可能值TrueFalse三元运算符True,FalseUnknown.

评估某事Null总是错误的,所以你不能=用来评估它,你必须IS像这样使用:WHERE Something IS Null

如果参数是,则使用 null 参数的一个好技巧是在子句Null中同时使用 null 测试和 value 测试:WHERE

WHERE ((@Param IS Null) OR (SomeField = @Param))

在这里,如果参数没有值(即 is Null),您将得到一切;否则,如果参数有一个值,它将返回它等于的那些行SomeField

于 2013-06-05T22:34:42.917 回答
0

如果您将 NULL 值传递给参数,那么这就是它将包含的内容。然而,在 SSRS 表达式中,NULL 被称为“Nothing”,如下所示:

IsNothing(Parameter.Value)

Parameter.Value Is Nothing
于 2013-06-05T19:52:45.120 回答