TYPE_ID (Transact-SQL)
返回指定数据类型名称的 ID。
语法
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