TYPE_ID (Transact-SQL)

返回指定数据类型名称的 ID。

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

语法

TYPE_ID ( [ schema_name ] type_name ) 

参数

  • type_name
    数据类型的名称。type_name 的数据类型为 nvarchar。type_name 可以是系统数据类型或用户定义的数据类型。

返回类型

int

异常

出现错误时或调用方没有查看对象的权限时,将返回 NULL。

在 SQL Server 中,用户只能查看其拥有的安全对象的元数据,或者已对其授予权限的安全对象的元数据。也就是说,如果用户对该对象没有任何权限,则那些会生成元数据的内置函数(如 TYPE_ID)可能返回 NULL。有关详细信息,请参阅元数据可见性配置元数据可见性故障排除

注释

如果类型名称无效,或调用方没有足够权限来引用类型,则 TYPE_ID 返回 NULL。

示例

A. 查找由一部分构成的和由两部分构成的类型名称的 TYPE ID 值

下面的示例返回由一部分构成的和由两部分构成的类型名称的类型 ID。

USE tempdb;
GO
CREATE TYPE NewType FROM int;
GO
CREATE SCHEMA NewSchema;
GO
CREATE TYPE NewSchema.NewType FROM int;
GO
SELECT TYPE_ID('NewType') AS [1 Part Data Type ID],
       TYPE_ID('NewSchema.NewType') AS [2 Part Data Type ID];
GO

B. 查找系统数据类型的 TYPE ID

下面的示例返回 datetime 系统数据类型的 TYPE ID。

SELECT TYPE_NAME(TYPE_ID('datetime')) AS [TYPE_NAME]
    ,TYPE_ID('datetime') AS [TYPE_ID];
GO