特殊資料類型是指那些不適合其它資料類型分類的資料類型。例如,若要將客戶調查中"是"或"否"的值相應地用 1 或 0 進行儲存,則可使用 bit 資料類型。Microsoft® SQL Server™ 2000 在該分類中有幾個資料類型:
bit
bit 資料不必放在單引號中。它是與 SQL Server 的整型和數字資料相似的數字資料,但 bit 列只能儲存 0 和 1。
sql_variant
SQL Server 中的 sql_variant 資料類型允許單個列、參數或變數儲存不同資料類型的資料值。sql_variant 列的每個執行個體都記錄資料值和描述該值的中繼資料:該值的基礎資料型別 (Elementary Data Type)、最大大小、小數位元、精度和定序。
下例中的第二個表包含一個 sql_variant 列:
CREATE TABLE ObjectTable
(ObjectID int
CONSTRAINT PKObjectTable PRIMARY KEY,
ObjectName nvarchar(80),
ObjectWeight decimal(10,3),
ObjectColor nvarchar(20)
)
CREATE TABLE VariablePropertyTable
(ObjectID int REFERENCES ObjectTable(ObjectID),
PropertyName nvarchar(100),
PropertyValue sql_variant,
CONSTRAINT PKVariablePropertyTable
PRIMARY KEY(ObjectID, PropertyName)
)
若要獲得任何一個特定 sql_variant 執行個體的中繼資料資訊,請使用 SQL_VARIANT_PROPERTY 函數。
table
table 資料類型類似是一個暫存資料表,可以用於儲存一個結果集以便以後處理。這種資料類型只能用於定義 table 類型的局部變數和使用者定義函數的傳回值。
一個 table 變數或傳回值的定義包括列、資料類型、精度、每列的小數位元以及可選的 PRIMARY KEY、UNIQUE 和CHECK 條件約束。
儲存在 table 變數中或使用者定義函數傳回值中的行的格式,必須在聲明變數或建立函數時定義。其文法基於 CREATE
TABLE 的文法。例如:
DECLARE @TableVar TABLE
(Cola int PRIMARY KEY,
Colb char(3))
INSERT INTO @TableVar VALUES (1, 'abc')
INSERT INTO @TableVar VALUES (2, 'def')
SELECT * FROM @TableVar
GO
返回一個 table 的 table 變數和使用者定義函數只能用於某些 SELECT 和 INSERT 語句,而且其中 UPDATE、DELETE 和
http://www.bkjia.com/PHPjc/631178.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631178.htmlTechArticle特殊資料類型是指那些不適合其它資料類型分類的資料類型。例如,若要將客戶調查中是或否的值相應地用 1 或 0 進行儲存,則可使用 bit...