TYPE_NAME (Transact-SQL)
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
傳回指定類型識別碼的非限定類型名稱。
語法
TYPE_NAME ( type_id )
引數
type_id
這是將使用的類型識別碼。 type_id 為 int,它可以參考呼叫者有權存取之任何結構描述中的類型。
傳回型別
sysname
例外狀況
當發生錯誤,或呼叫端沒有檢視物件的權限時,便會傳回 NULL。
在 SQL Server 中,使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。 這表示發出中繼資料的內建函數 (例如,TYPE_NAME) 會在使用者不具有該物件任何權限時傳回 NULL。 如需相關資訊,請參閱 Metadata Visibility Configuration。
備註
當 type_id 無效或呼叫者沒有足以參考這個類型的權限時,TYPE_NAME 會傳回 NULL。
TYPE_NAME 適用於系統資料類型,也適用於使用者自訂資料類型。 類型可以包含在任何結構描述中,但一律會傳回非限定類型名稱。 這表示該名稱沒有 schema. 前置詞。
系統函數可以用於選取清單、WHERE 子句以及任何可以使用運算式的位置。 如需詳細資訊,請參閱運算式 (Transact-SQL) 和 WHERE (Transact-SQL)。
範例
下列範例會針對 AdventureWorks2022
資料庫之 Vendor
資料表中的每個資料行,傳回物件名稱、資料行名稱和類型名稱。
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 BusinessEntityID int
Vendor CreditRating tinyint
Vendor ModifiedDate datetime
Vendor Name Name
Vendor PreferredVendorStatus Flag
Vendor PurchasingWebServiceURL nvarchar
(8 row(s) affected)
範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)
下列範例會使用識別碼 1
來傳回資料類型的 TYPE ID
。
SELECT TYPE_NAME(36) AS Type36, TYPE_NAME(239) AS Type239;
GO
如需類型的清單,請查詢 sys.types。
SELECT * FROM sys.types;
GO
另請參閱
TYPE_ID (Transact-SQL)
TYPEPROPERTY (Transact-SQL)
sys.types (Transact-SQL)
中繼資料函數 (Transact-SQL)