sys.types (Transact-SQL)
每个系统类型和用户定义类型都在表中对应一行。
列名 |
数据类型 |
说明 |
---|---|---|
name |
sysname |
类型的名称。在架构内是唯一的。 |
system_type_id |
tinyint |
类型的内部系统类型的 ID。 |
user_type_id |
int |
类型的 ID。在该数据库中是唯一的。对于系统数据类型,user_type_id = system_type_id。 |
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。 |
precision |
tinyint |
如果类型基于数值,则表示类型的最大精度;否则,该值为 0。 |
scale |
tinyint |
如果类型基于数值,则表示类型的最大小数位数;否则,该值为 0。 |
collation_name |
sysname |
如果类型基于字符,则表示类型排序规则的名称;否则,该值为 NULL。 |
is_nullable |
bit |
类型可以为 Null。 |
is_user_defined |
bit |
1 = 用户定义类型。 0 = 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 |
指示该类型为表。 |