sys.system_columns(Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics分析平台系统(PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库Microsoft Fabric 中的 SQL 数据库

具有列的系统对象的每列都对应一行。

列名称 数据类型 说明
object_id int 此列所属对象的 ID。
name sysname 列的名称。 在对象中是唯一的。
column_id int 列的 ID。 在对象中是唯一的。

列 ID 可以不按顺序排列。
system_type_id tinyint 列的系统类型的 ID。
user_type_id int 用户定义的列类型的 ID。

若要返回类型的名称,请联接此列上的 sys.types 目录视图。
max_length smallint 列的最大长度(以字节为单位)。

-1 = 列数据类型为 varchar(max)nvarchar(max)varbinary(max)xml

对于文本列,该值max_length16或设置的值。sp_tableoption 'text in row'
precision tinyint 如果基于数值,则列的精度;否则,为 0.
scale tinyint 列的比例尺(如果是基于数字的);否则,。 0
collation_name sysname 如果是基于字符的列,则使用列的名称;否则,。 NULL
is_nullable bit 1 = 列可为零。
is_ansi_padded bit 1 = 列使用 ANSI_PADDING ON 行为,若是字符、二进制或变体。

0 = 列不是字符、二元或变体。
is_rowguidcol bit 1 = 列为声明 ROWGUIDCOL的 。
is_identity bit 1 = 列具有恒等值。
is_computed bit 1 = 列是计算出的列。
is_filestream bit 1 = 列声明使用文件流存储。
is_replicated bit 1 = 列被复制。
is_non_sql_subscribed bit 1 = Column 有非 SQL Server 订阅者。
is_merge_published bit 1 = 该栏为合并发布。
is_dts_replicated bit 1 = 列通过SSIS复制。
is_xml_document bit 1 = 内容是一个完整的 XML 文档。

0 = 内容是文档片段,或列数据类型不是 xml
xml_collection_id int 如果列数据类型为 xml 且已键入 XML,则为非零值。 该值是包含该列验证XML模式命名空间的集合的ID。

0 = 无XML模式集合。
default_object_id int 默认对象的ID,无论它是独立 sys.sp_bindefault还是内联列级 DEFAULT 约束。 parent_object_id内联列级默认对象的列是返回表本身的引用。 或者, 0 如果没有违约情况。
rule_object_id int 绑定到列的独立规则的ID,使用 sys.sp_bindrule

0 = 无独立规则。

有关列级 CHECK 约束,请参阅 sys.check_constraints
is_sparse bit 1 = 列是稀疏列。 有关详细信息,请参阅 “使用稀疏列”。
is_column_set bit 1 = 列是列集。 有关详细信息,请参阅 “使用列集”。
generated_always_type tinyint 识别列值生成时间(系统 0 表中的列始终如此):

0 = NOT_APPLICABLE
1 = AS_ROW_START
2 = AS_ROW_END
7 = AS_TRANSACTION_ID_START
8 = AS_TRANSACTION_ID_END
9 = AS_SEQUENCE_NUMBER_START
10 = AS_SEQUENCE_NUMBER_END

有关详细信息,请参阅 临时表

适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。 789, 仅 10 适用于SQL数据库。
generated_always_type_desc nvarchar(60) 适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。

对 的值的文本描述 generated_always_type(总是 NOT_APPLICABLE 针对系统表中的列)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

适用于:SQL Server 2022(16.x)及更高版本,以及SQL 数据库

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
ledger_view_column_type tinyint NULL否则,指示账本视图中列的类型:

1 = TRANSACTION_ID
2 = SEQUENCE_NUMBER
3 = OPERATION_TYPE
4 = OPERATION_TYPE_DESC

有关数据库账本的详细信息,请参阅账本

适用于:SQL Server 2022(16.x)及更高版本,以及SQL 数据库。
ledger_view_column_type_desc nvarchar(60) NULL否则,在账本视图中包含列类型的文本说明:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

适用于:SQL Server 2022(16.x)及更高版本,以及SQL 数据库。
is_dropped_ledger_column bit 指示已删除的账本表列。

适用于:SQL Server 2022(16.x)及更高版本,以及SQL 数据库
vector_dimensions int 表示向量的维数。

适用于:SQL Server 2025(17.x)及更高版本,以及 SQL 数据库
vector_base_type tinyint 指示用于存储向量维度值的数据类型。

0 = 32位(单精度)浮点数
1 = 16位(半精度)浮点 数1

适用于:SQL Server 2025(17.x)及更高版本,以及 SQL 数据库
vector_base_type_desc nvarchar(10) 包含用于存储向量维度值的数据类型的文本说明。

适用于:SQL Server 2025(17.x)及更高版本,以及 SQL 数据库

1 更多信息请参见 半精度浮点格式

权限

目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。 有关详细信息,请参阅 元数据可见性配置