初学者的问题:在 SSRS 报告 (Visual Studio 2008) 中,当接受 Null 值的参数设置为 Null 时,它实际上包含什么?
NULL
''
或者是其他东西?
特别是我很好奇 2008 R2 在收到该参数时会看到什么。
初学者的问题:在 SSRS 报告 (Visual Studio 2008) 中,当接受 Null 值的参数设置为 Null 时,它实际上包含什么?
NULL
''
或者是其他东西?
特别是我很好奇 2008 R2 在收到该参数时会看到什么。
NULL
仅表示尚未分配值。所以这是缺乏价值而不是实际价值。
特别是,空字符串不是Null,它是一个被赋值为零长度字符串的字符串,这与根本没有值不同。数值相同 -Null
并不意味着0
哪个是特定的数值,它意味着根本没有分配任何值。例如,如果您有一个名为的字段Siblings
,它是一个人拥有的兄弟姐妹的数量,如果该字段有,0
我们将知道他们没有兄弟姐妹;但是,如果字段是Null
,则意味着我们不知道他们有多少兄弟姐妹。
对于布尔值,可以为空将它们从具有可能值的二元运算符和具有可能值True
的False
三元运算符True
,False
和Unknown
.
评估某事Null
总是错误的,所以你不能=
用来评估它,你必须IS
像这样使用:WHERE Something IS Null
。
如果参数是,则使用 null 参数的一个好技巧是在子句Null
中同时使用 null 测试和 value 测试:WHERE
WHERE ((@Param IS Null) OR (SomeField = @Param))
在这里,如果参数没有值(即 is Null
),您将得到一切;否则,如果参数有一个值,它将返回它等于的那些行SomeField
。
如果您将 NULL 值传递给参数,那么这就是它将包含的内容。然而,在 SSRS 表达式中,NULL 被称为“Nothing”,如下所示:
IsNothing(Parameter.Value)
Parameter.Value Is Nothing