TYPE_NAME (Transact-SQL)

返回指定类型 ID 的未限定的类型名称。

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

TYPE_NAME ( type_id ) 

参数

  • type_id
    要使用的类型的 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)

示例

以下示例针对 AdventureWorks2012 数据库的 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)

请参阅

参考

TYPE_ID (Transact-SQL)

TYPEPROPERTY (Transact-SQL)

sys.types (Transact-SQL)

元数据函数 (Transact-SQL)