-2

初學者問題:在SSRS報告(Visual Studio 2008)中,當接受Null值的參數設置爲Null時,它實際上包含了什麼?SSRS報告 - 什麼是NULL?

NULL 
'' 

還是別的什麼?

特別是我很好奇2008 R2在什麼時候收到這個參數。

+0

*除Null值以外的參數設置爲空* ...這是什麼意思? – Lamak

+0

Null,並設置爲null用於我到目前爲止遇到的每種語言。但它並不是在每種語言中都明確表示同樣的意思。這些是我熟悉的潛在選項。 NULL ' 「」 FALSE(可能是未記住) – PCSgtL

+1

我會建議在運行SQL跟蹤和看到的是整個未來。 SSMS>工具> SQL Server Profiler,連接到您的服務器,選擇tsql模板。 – Sam

回答

0

NULL僅僅意味着一個值尚未分配。所以缺乏價值而不是實際價值。

特別是,空字符串不是空值,它是一個字符串,它被分配了一個零長度字符串的值,它根本不具有值。數值相同 - Null並不意味着0這是一個特定的數值,這意味着根本沒有賦值。例如,如果您有一個名爲Siblings的字段,這是一個人的兄弟姐妹的數量,如果該字段有0,我們會知道他們沒有兄弟姐妹;然而,如果該字段是Null這意味着我們不知道他們有多少個兄弟姐妹。

對於布爾型,是可空的從與所述可能值TrueFalse與可能值TrueFalseUnknown三元操作符的二進制操作者接通它們。

評估東西Null永遠是假的,所以你不能使用=來評價它,你必須使用IS像這樣:WHERE Something IS Null

一個好的技巧與你想要的一切,如果該參數是Null是在你的WHERE子句中使用既爲價值爲空試驗和測試空參數使用:

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

這裏如果參數沒有價值(即是Null)你會得到一切;否則如果參數有一個值,它將返回那些等於SomeField的行。

0

如果您將NULL值傳遞給參數,那麼它將包含它。在NULL SSRS表達式但是被稱爲「無」,如在:

IsNothing(Parameter.Value) 

Parameter.Value Is Nothing