sys.types (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

每个系统类型和用户定义类型都在表中对应一行。

列名称 数据类型 说明
name sysname 类型的名称。 在架构内是唯一的。
system_type_id tinyint 内部系统类型的 ID。
user_type_id int 类型的 ID。 在该数据库中是唯一的。 对于系统数据类型,user_type_id = system_type_id。

CLR 程序集类型(如 hierarchyid、geometry 和 geography)将具有不同的 system_type_id,并且可以使用 is_assembly_type 进行标识。 sysname 数据类型是基于 nvarchar 的内部数据类型。
schema_id int 类型所属架构的 ID。
principal_id int 如果个体所有者与架构所有者不同,则表示该所有者的 ID。 默认情况下,架构包含的对象由架构所有者拥有。 不过,通过使用 ALTER AUTHORIZATION 语句更改所有权可以指定备用所有者。

如果没有另外的个体所有者,则值为 NULL。
max_length smallint 类型的最大长度(字节)。

-1 = 列数据类型是 varchar(max)、nvarchar(max)、varbinary(max) 或 xml。

对于 text 列,max_length 值将为 16。
精度 tinyint 如果类型基于数值,则表示类型的最大精度;否则,该值为 0。
scale tinyint 如果类型基于数值,则表示类型的最大小数位数;否则,该值为 0。
collation_name sysname 如果类型基于字符,则表示类型排序规则的名称;否则,该值为 NULL。
is_nullable bit 类型可以为 Null。
is_user_defined bit 1 = 用户定义类型。

0 = SQL Server 系统数据类型。
is_assembly_type bit 1 = 类型的实现是在 CLR 程序集中定义的。

0 = 类型基于 SQL Server 系统数据类型。
default_object_id int 使用 sp_bindefault 绑定到类型的独立默认值的 ID。

0 = 不存在默认值。
rule_object_id int 使用 sp_bindrule 绑定到类型的独立规则的 ID。

0 = 不存在规则。
is_table_type bit 指示该类型为表。

权限

目录视图中元数据的可见性仅限于用户拥有的安全对象,或者向用户授予了某些权限的安全对象。 有关详细信息,请参阅 Metadata Visibility Configuration

另请参阅