適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
NULL表示值未知。 NULL 值與空的值或零值不同。 兩個 Null 值永遠不會相等。 兩個 Null 值之間的比較,或 Null 值與任何其他值之間的比較,都會傳回未知,因為每個 NULL 值的值未知。
Null 值通常會指出未知的資料、不適用的資料或之後將要加入的資料。 例如,客戶在客戶下訂單時可能不知道客戶的中間初始字母。
Consider:
若要測試查詢中的 Null 值,請在
IS NULL子句中使用IS NOT NULL或WHERE。您可以藉由在 或
NULL語句中INSERT明確陳述UPDATE或將數據行離開INSERT語句,將 Null 值插入數據行中。Null 值不能做為將數據表中某個數據列與數據表中另一個數據列區別所需的資訊。 範例包括主鍵,或用於散發數據列的資訊,例如散發索引鍵。
Remarks
當數據中有 Null 值時,邏輯和比較運算子可能會傳回 的第三個結果 UNKNOWN ,而不只是 TRUE 或 FALSE。 這種三重數值邏輯的需要是造成應用程式錯誤的來源。 布爾表達式中包含 UNKNOWN 傳回 UNKNOWN的邏輯運算元,除非運算符的結果不相依於 UNKNOWN 表達式。 這些表格提供此行為的範例。
下表顯示將運算子套用至兩個布爾表示式的結果,其中一個 AND 運算式會傳 UNKNOWN回 。
| 表達式 1 | 表達式 2 | Result |
|---|---|---|
TRUE |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
UNKNOWN |
FALSE |
UNKNOWN |
FALSE |
下表顯示將運算子套用至兩個布爾表示式的結果,其中一個 OR 運算式會傳 UNKNOWN回 。
| 表達式 1 | 表達式 2 | Result |
|---|---|---|
TRUE |
UNKNOWN |
TRUE |
UNKNOWN |
UNKNOWN |
UNKNOWN |
FALSE |
UNKNOWN |
UNKNOWN |