sys.types (Transact-SQL)
适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics 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。