sql server系统表详细说明 之 sys.columns
为包含列的对象(如视图或表)的每一列返回一行。 下面是包含列的对象类型的列表。
表值程序集函数 (FT)
内联表值 SQL 函数 (IF)
内部表 (IT)
系统表 (S)
表值 SQL 函数 (TF)
用户表 (U)
视图 (V)
列名称 | 数据类型 | 说明 |
---|---|---|
object_id | int | 此列所属对象的 ID。 |
name | sysname | 列的名称。 在对象中是唯一的。 |
column_id | int | 列的 ID。 在对象中是唯一的。 列 ID 可以不按顺序排列。 |
system_type_id | tinyint | 列的系统类型的 ID。 |
user_type_id | int | 用户定义的列类型的 ID。 若要返回类型的名称,请在此列上联接到 sys.databases 目录视图。 |
max_length | smallint | 列的最大长度(字节)。 -1 = 列数据类型为 varchar (max)、 nvarchar (max)、 varbinary (max) 或 xml。 对于 text 列,max_length 值将是16,或者是 sp_tableoption "text in row" 设置的值。 |
精准率 | 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 = 列为 FILESTREAM 列。 |
is_replicated | bit | 1 = 列已复制。 |
is_non_sql_subscribed | bit | 1 = 列具有非 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,还是内联列级默认约束。 内联列级默认对象的 parent_object_id 列是对该表本身的反引用。 0 = 无默认值。 |
rule_object_id | int | 使用 sys.sp_bindrule 绑定到列的独立规则的 ID。 0 = 无独立规则。 有关列级检查约束,请参阅 (transact-sql)sys.check_constraints 。 |
is_sparse | bit | 1 = 列为稀疏列。 有关详细信息,请参阅 使用稀疏列。 |
is_column_set | bit | 1 = 列为列集。 有关详细信息,请参阅 使用稀疏列。 |
generated_always_type | tinyint | 适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。 7、8、9、10仅适用于 SQL 数据库 。 标识生成列值 (对于系统表中的列,将始终为 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 有关详细信息,请参阅 (关系数据库)的临时表 。 |
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 数据库 AS_TRANSACTION_ID_START AS_TRANSACTION_ID_END AS_SEQUENCE_NUMBER_START AS_SEQUENCE_NUMBER_END |
encryption_type | int | 适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。 加密类型: 1 = 确定性加密 2 = 随机加密 |
encryption_type_desc | nvarchar (64) | 适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。 加密类型说明: 随机 DETERMINISTIC |
encryption_algorithm_name | sysname | 适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。 加密算法的名称。 仅AEAD_AES_256_CBC_HMAC_SHA_512支持。 |
column_encryption_key_id | int | 适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。 CEK 的 ID。 |
column_encryption_key_database_name | sysname | 适用于:SQL Server 2016 (13.x) 及更高版本、SQL 数据库。 列加密密钥与列的数据库不同时存在的数据库的名称。 NULL 如果该键存在于与列相同的数据库中,则为。 |
is_hidden | bit | 适用于:SQL Server 2019 (15.x) 及更高版本、SQL 数据库。 指示是否隐藏列: 0 = 常规、非隐藏、可见列 1 = 隐藏列 |
is_masked | bit | 适用于:SQL Server 2019 (15.x) 及更高版本、SQL 数据库。 指示是否由动态数据掩码屏蔽列: 0 = 常规、非掩码列 1 = 列被屏蔽 |
graph_type | int | 带有一组值的内部列。 对于 graph 列,值介于1-8 和其他值之间 NULL 。 |
graph_type_desc | nvarchar(60) | 带有一组值的内部列 |
ledger_view_column_type | tinyint | 适用于: SQL 数据库。 如果不为 NULL,则表示分类帐视图中列的类型: 1 = TRANSACTION_ID 2 = SEQUENCE_NUMBER 3 = OPERATION_TYPE 4 = OPERATION_TYPE_DESC 有关数据库账本详细信息,请参阅 Azure SQL 数据库 账本。 |
ledger_view_column_type_desc | nvarchar(60) | 适用于: SQL 数据库。 如果不为 NULL,则包含账本视图中列类型的文本说明: TRANSACTION_ID SEQUENCE_NUMBER OPERATION_TYPE OPERATION_TYPE_DESC |
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
SQL2016 YES开发框架