資料類型 (Database Engine)

包含資料的物件會有相關聯的資料類型,這個資料類型會定義物件可以包含的資料種類,例如字元、整數或二進位。以下物件具有資料類型:

  • 資料表與檢視中的資料行。

  • 預存程序中的參數。

  • 變數。

  • 傳回一或多個特定資料類型資料值的 Transact-SQL 函數。

  • 含有傳回碼的預存程序,其資料類型一定是 integer。

為物件指定資料類型就會定義物件的四種屬性:

  • 物件包含的資料種類。

  • 儲存值的長度或大小。

  • 數字的精確度 (只限數值資料類型)。

  • 數字的小數位數 (只限數值資料類型)。

如需有關資料類型有效位數、小數位數和長度的詳細資訊,請參閱<有效位數、小數位數和長度 (Transact-SQL)>。

Transact-SQL 具有這些系統資料類型。

Microsoft SQL Server 中儲存的所有資料都必須與其中一個基底資料類型相容。cursor 資料類型是唯一不能指派給資料表資料行的系統資料類型。它只可以與變數和預存程序參數一起使用。

數個基底資料類型具有同義字 (例如 rowversion 就是 timestamp 的同義字,而 national character varying 是 nvarchar 的同義字)。如需同義字行為的詳細資訊,請參閱<資料類型同義字 (Transact-SQL)>。

也可以建立兩種使用者自訂資料類型:

  • 可以透過基底資料類型建立別名資料類型。利用這種方式,可以為資料類型另取別的名稱,更能說明物件中可儲存的數值類型。這樣一來,程式設計人員或資料庫系統管理員可以更容易瞭解,使用該資料類型定義的物件其預期用途為何。例如:

    -- Create a birthday datetype that allows nulls.
    CREATE TYPE birthday
    FROM datetime NULL
    GO
    -- Create a table using the new data type.
    CREATE TABLE employee (emp_id char(5), emp_first_name char(30), emp_last_name char(40), emp_birthday birthday)
    

    如需詳細資訊,請參閱<使用別名資料型別>。

  • CLR 使用者定義資料類型是根據在 Managed 程式碼中建立以及在 SQL Server 組件中上載的資料類型。如需詳細資訊,請參閱<使用 CLR 使用者定義型別>。