允許 Null 值

資料行的 Null 屬性決定資料表中的資料列是否可在該資料行中包含 Null 值。Null 值或稱為 NULL,並不同於零 (0)、空白或長度為零的字元字串,例如 ""。NULL 代表沒有輸入任何資料。NULL 的出現通常暗示著未知或未定義的值。例如,在 AdventureWorks 資料庫的 Production.Product 資料表中,SellEndDate 資料行的 Null 值並不代表項目沒有銷售結束日期。NULL 表示日期是未知或尚未設定的。

ms189265.note(zh-tw,SQL.90).gif附註:
我們建議您避免允許 Null 值,因為它們會導致查詢與更新更為複雜,而且其他資料行選項 (例如:PRIMARY KEY 條件約束) 並不能用於可為 Null 的資料行。

若您插入資料列時,某個允許 Null 值的資料行沒有包含值, 除非有 DEFAULT 定義或物件存在,否則 SQL Server 2005 Database Engine 將會提供 NULL 值給資料列。以關鍵字 NULL 定義的資料行也可接受使用者明確輸入的 NULL,不管它的資料類型為何,或是否有預設值與它關聯。NULL 值不可放在引號之中,否則將被解譯成字元字串 'NULL',而非 Null 值。

將資料行指定成不允許 Null 值將可確認資料列中的資料行一定包含資料,而有助於維持資料的完整性。若不允許 Null 值,在資料表中輸入資料的使用者必須在資料行中輸入值,否則資料庫將不接受該資料表的資料列。

ms189265.note(zh-tw,SQL.90).gif附註:
以 PRIMARY KEY 條件約束或 IDENTITY 屬性定義的資料行不允許 Null 值。

請參閱

概念

Null 值
修改資料行屬性

其他資源

CREATE TABLE (Transact-SQL)
ALTER TABLE (Transact-SQL)
DROP TABLE (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助