TYPE_NAME (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
返回指定类型 ID 的未限定的类型名称。
语法
TYPE_NAME ( type_id )
参数
type_id
要使用的类型的 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
ID 的数据类型的 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)