特殊數據包括不能用前面所述的二進制、字符、Unicode、日期和時間、數字和貨幣數據類型表示的數據。
Microsoft® SQL Server™ 2000 包含四種特殊數據類型:
timestamp
用於表示 SQL Server 在一行上的活動順序,按二進制格式以遞增的數字來表示。當表中的行發生變動時,用從 @@DBTS 函數獲得的當前數據庫的時間戮值來更新時間戮。timestamp 數據與插入或修改數據的日期和時間無關。若要自動記錄表中數據更改的時間,使用 datetime 或 smalldatetime 數據類型記錄事件或觸發器。
說明 在 SQL Serve 中 rowversion 是 timestamp 的同義詞。
bit
bit 數據類型只能包括 0 或 1。可以用 bit 數據類型代表 TRUE 或 FALSE、YES 或 NO。例如,詢問客戶是否為初次訪問的問題可存儲在 bit 列中。
uniqueidentifIEr
以一個 16 位的十六進制數表示全局唯一標識符 (GUID)。當需要在多行中唯一標識某一行時可使用 GUID。例如,可使用 unique_ identifIEr 數據類型定義一個客戶標識代碼列,以編輯公司來自多個國家/地區的總的客戶名錄。
sql_variant
一種存儲 SQL Server 所支持的各種數據類型(text、ntext、timestamp 和 sql_variant 除外)值的數據類型。
table
一種特殊的數據類型,存儲供以後處理的結果集。table 數據類型只能用於定義 table 類型的局部變量或用戶定義函數的返回值。
用戶定義
允許使用用戶定義數據類型,例如,product_code 可設計為基於 char 數據類型的兩個大寫字母後跟 5 位供應商號碼的格式。