COLUMNS (Transact-SQL)
适用于:Microsoft Fabric Microsoft Fabric Warehouse 中的 SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics 终结点
为当前数据库中当前用户可访问的每一列返回一行。
若要从这些视图中检索信息,请指定INFORMATION_SCHEMA.view_name的完全限定名称。
列名称 | 数据类型 | 说明 |
---|---|---|
TABLE_CATALOG | nvarchar(128) | 表限定符。 |
TABLE_SCHEMA | nvarchar(128) | 包含该表的架构的名称。 重要说明:请勿使用 INFORMATION_SCHEMA 视图来确定对象的架构。 INFORMATION_SCHEMA 视图仅表示对象的元数据子集。 查找对象架构的唯一可靠的方式是查询 sys.objects 目录视图。 |
TABLE_NAME | nvarchar(128) | 表名。 |
COLUMN_NAME | nvarchar(128) | 列名称。 |
ORDINAL_POSITION | int | 列标识号。 |
COLUMN_DEFAULT | nvarchar(4000) | 列的默认值。 |
IS_NULLABLE | varchar(3) | 列的为空性。 如果列允许 NULL,则该列将返回 YES。 否则,返回 NO。 |
DATA_TYPE | nvarchar(128) | 系统提供的数据类型。 |
CHARACTER_MAXIMUM_LENGTH | int | 二进制数据、字符数据或文本和图像数据的最大长度(字符)。 -1 表示 xml 和大值类型数据。 否则,返回 NULL。 有关详细信息,请参阅 数据类型 (Transact-SQL)。 |
CHARACTER_OCTET_LENGTH | int | 二进制数据、字符数据或文本和图像数据的最大长度(字节)。 -1 表示 xml 和大值类型数据。 否则,返回 NULL。 |
NUMERIC_PRECISION | tinyint | 近似数字数据、精确数字数据、整数数据或货币数据的精度。 否则,返回 NULL。 |
NUMERIC_PRECISION_RADIX | smallint | 近似数字数据、精确数字数据、整数数据或货币数据的精度基数。 否则,返回 NULL。 |
NUMERIC_SCALE | int | 近似数字数据、精确数字数据、整数数据或货币数据的小数位数。 否则,返回 NULL。 |
DATETIME_PRECISION | smallint | 日期时间和 ISO 间隔数据类型的子类型代码。 对于其他数据类型,返回 NULL。 |
CHARACTER_SET_CATALOG | nvarchar(128) | 返回 主控形状。 这表示字符集所在的数据库(如果列是字符数据或 文本 数据类型)。 否则,返回 NULL。 |
CHARACTER_SET_SCHEMA | nvarchar(128) | 始终返回 NULL。 |
CHARACTER_SET_NAME | nvarchar(128) | 如果此列是字符数据或 文本 数据类型,则返回字符集的唯一名称。 否则,返回 NULL。 |
COLLATION_CATALOG | nvarchar(128) | 始终返回 NULL。 |
COLLATION_SCHEMA | nvarchar(128) | 始终返回 NULL。 |
COLLATION_NAME | nvarchar(128) | 如果列是字符数据或 文本 数据类型,则返回排序规则的唯一名称。 否则,返回 NULL。 |
DOMAIN_CATALOG | nvarchar(128) | 如果此列是别名数据类型,则此列是在其中创建用户定义数据类型的数据库的名称。 否则,返回 NULL。 |
DOMAIN_SCHEMA | nvarchar(128) | 如果列是用户定义数据类型,则此列将返回该用户定义数据类型的架构名称。 否则,返回 NULL。 重要说明: 不要使用INFORMATION_SCHEMA视图来确定数据类型的架构。 查找类型的架构的唯一可靠方式是使用 TYPEPROPERTY 函数。 |
DOMAIN_NAME | nvarchar(128) | 如果列是用户定义数据类型,则此列是该用户定义数据类型的名称。 否则,返回 NULL。 |
注解
INFORMATION_SCHEMA的ORDINAL_POSITION列。COLUMNS 视图与COLUMNS_UPDATED函数返回的列的位模式不兼容。 若要获取与COLUMNS_UPDATED兼容的位模式,必须在查询INFORMATION_SCHEMA时引用 COLUMNPROPERTY 系统函数的 ColumnID 属性。COLUMNS 视图。 例如:
USE AdventureWorks2022;
GO
SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks2022.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Person';
GO