sys.syscolumns (Transact-SQL)

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

为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行。

重要

将此 SQL Server 2000 系统表作为一个视图包含进来是为了保持向后兼容性。 建议您改用最新的 SQL Server 系统视图。 若要查找一个或多个等效系统视图,请参阅将系统表映射到系统视图 (Transact-SQL)。 后续版本的 Microsoft SQL Server 将删除该功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

列名称 数据类型 说明
name sysname 列或过程参数的名称。
id int 此列所属表的对象 ID,或者与此参数关联的存储过程的 ID。
xtype tinyint sys.types 中的物理存储类型
typestat tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
xusertype smallint 扩展用户定义数据类型的 ID。 如果数据类型的数字超过 32,767,则溢出或返回 NULL。
length smallint sys 的最大物理存储长度类型
xprec tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
xscale tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
colid smallint 列 ID 或参数 ID。
xoffset smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
bitpos tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
reserved tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
colstat smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
cdefault int 此列的默认值的 ID。
domain int 此列的规则或 CHECK 约束的 ID。
number smallint 过程分组时的子过程号。

0 = 非过程项
colorder smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
autoval varbinary(8000) 标识为仅供参考。 不支持。 不保证以后的兼容性。
offset smallint 此列所在行的偏移量。
collationid int 列的排序规则的 ID。 对于非字符列,此值为 NULL。
status tinyint 用于说明列或参数的属性的位图:

0x08 = 列允许空值。

0x10 = 添加 varcharvarbinary 列时,ANSI 填充生效。 为 varchar 保留尾随空白,为 varbinary 列保留尾随零。

0x40 = 参数为 OUTPUT 参数。

0x80 = 列为标识列。
type tinyint sys 中的物理存储类型。类型
usertype smallint sys.types 中用户定义的数据类型的 ID。 如果数据类型的数字超过 32,767,则溢出或返回 NULL。
printfmt varchar(255) 标识为仅供参考。 不支持。 不保证以后的兼容性。
prec smallint 此列的精度级别。

-1 = xml 或大值类型。
scale int 缩放此列。

NULL = 数据类型不是数值。
iscomputed int 指示列是否为计算列的标志:

0 = 非计算列。

1 = 计算列。
isoutparam int 指示过程参数是否为输出参数:

1 = True

0 = False
isnullable int 指示列是否允许空值:

1 = True

0 = False
整理 sysname 列的排序规则的名称。 如果不是基于字符的列,则为 NULL。

另请参阅

将系统表映射到系统视图 (Transact-SQL)
兼容性视图 (Transact-SQL)