TYPE_NAME (Transact-SQL)

傳回指定類型識別碼的非限定類型名稱。

主題連結圖示Transact-SQL 語法慣例

語法

TYPE_NAME ( type_id ) 

引數

  • type_id
    這是將使用之類型的識別碼。type_id 是一個 int,它可以參考呼叫者有權存取之任何結構描述中的類型。

傳回類型

sysname

例外

當發生錯誤,或呼叫者沒有檢視物件的權限時,便會傳回 NULL。

在 SQL Server 中,使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。這表示發出中繼資料的內建函數 (例如,TYPE_NAME) 會在使用者不具有該物件任何權限時傳回 NULL。如需詳細資訊,請參閱<中繼資料可見性組態>和<中繼資料可見性疑難排解>。

備註

當 type_id 無效或呼叫者沒有足以參考這個類型的權限時,TYPE_NAME 會傳回 NULL。

TYPE_NAME 適用於系統資料類型,也適用於使用者自訂資料類型。類型可以包含在任何結構描述中,但一律會傳回非限定類型名稱。這表示名稱沒有 schema**.** 前置詞。

系統函數可以用於選取清單、WHERE 子句以及任何可以使用運算式的位置。如需詳細資訊,請參閱<運算式 (Transact-SQL)>和<WHERE (Transact-SQL)>。

範例

下列範例會針對 AdventureWorks 資料庫之 Vendor 資料表中的每個資料行,傳回物件名稱、資料行名稱和類型名稱。

USE AdventureWorks;
GO
SELECT o.name AS obj_name, c.name AS col_name,
       TYPE_NAME(c.user_type_id) AS type_name
FROM sys.objects AS o 
JOIN sys.columns AS c  ON o.object_id = c.object_id
WHERE o.name = 'Vendor'
ORDER BY col_name;
GO

以下為結果集:

obj_name  col_name                 type_name
--------- -----------------------  -------------------
Vendor    AccountNumber            AccountNumber
Vendor    ActiveFlag               Flag
Vendor    CreditRating             tinyint
Vendor    ModifiedDate             datetime
Vendor    Name                     Name
Vendor    PreferredVendorStatus    Flag
Vendor    PurchasingWebServiceURL  nvarchar
Vendor    VendorID                 int
(8 row(s) affected)