2014-04-10 21 views
0

閱讀MSDN article about T-SQL CREATE PROCEDURE statement,我遇到了一個我無法理解的句子。「T-SQL中的NULL是未知值的佔位符」 - 這是什麼意思?

「最佳實踐」一節,他們說:那空轉換,包括消除與查詢空值的行邏輯

使用修改語句。請注意,在Transact-SQL中,NULL不是空值或「無」值。它是一個未知值的佔位符,可能會導致意外的行爲,特別是在查詢結果集或使用AGGREGATE函數時。

有人可以解釋我,他們是什麼意思?我很困惑,因爲我一直認爲NULL意味着空值或缺失值,或者只是「無」。

更新: 我剛剛發現了一個similar question。他們發現,相比之下,NULL!= NULL。所以NULL值永遠不會等於任何東西。這很好。還有別的事嗎?

+0

您也可以使用ISNULL(COLNAME,0),其中0將是無效的替換值。這意味着您可以比較都爲null的值。 – Frank

+1

我相信這只是強調它不是'int'列中的'0',並且它不是'varchar'列中的零長度字符串等。 –

回答