COLUMNS (Transact-SQL)

更新日期: 2006 年 7 月 17 日

为当前数据库中当前用户可访问的每一列返回一行。

若要从这些视图中检索信息,请指定 INFORMATION_SCHEMA*.view_name* 的完全限定名称。

列名

数据类型

说明

TABLE_CATALOG

nvarchar(128)

表限定符。

TABLE_SCHEMA

nvarchar(128)

包含该表的架构的名称。

TABLE_NAME

nvarchar(128)

表名。

COLUMN_NAME

nvarchar(128)

列名。

ORDINAL_POSITION

int

列标识号。

ms188348.note(zh-cn,SQL.90).gif注意:

在 SQL Server 2005 中,这些列 ID 是连续的数字。

COLUMN_DEFAULT

nvarchar(4000)

列的默认值。

SQL Server 2005 对目录元数据中的 SQL 表达式进行解码和存储的方式不同于 SQL Server 2000。已解码表达式的语义与原始文本相同,但不能保证语法也相同。例如,已解码的表达式中删除了空格。有关详细信息,请参阅 SQL Server 2005 中数据库引擎功能的行为更改

IS_NULLABLE

varchar(3)

列的为空性。如果列允许 NULL,则该列将返回 YES。否则,返回 NO。

DATA_TYPE

nvarchar(128)

系统提供的数据类型。

CHARACTER_MAXIMUM_LENGTH

int

二进制数据、字符数据或文本和图像数据的最大长度(字符)。

对于 xml 和大值类型数据,为 -1。否则,返回 NULL。有关详细信息,请参阅数据类型 (Transact-SQL)

CHARACTER_OCTET_LENGTH

int

二进制数据、字符数据或文本和图像数据的最大长度(字节)。

对于 xml 和大值类型数据,为 -1。否则,返回 NULL。

NUMERIC_PRECISION

tinyint

近似数字数据、精确数字数据、整数数据或货币数据的精度。否则,返回 NULL。

NUMERIC_PRECISION_RADIX

smallint

近似数字数据、精确数字数据、整数数据或货币数据的精度基数。否则,返回 NULL。

NUMERIC_SCALE

int

近似数字数据、精确数字数据、整数数据或货币数据的小数位数。否则,返回 NULL。

DATETIME_PRECISION

smallint

Subtype code for datetime and SQL-92 interval data types.对于其他数据类型,返回 NULL。

CHARACTER_SET_CATALOG

nvarchar(128)

返回 master。如果该列为字符数据或 text 数据类型,则指示字符集所在的数据库。否则,返回 NULL。

CHARACTER_SET_SCHEMA

nvarchar(128)

始终返回 NULL。

CHARACTER_SET_NAME

nvarchar(128)

如果此列是字符数据或 text 数据类型,则返回字符集的唯一名称。否则,返回 NULL。

COLLATION_CATALOG

nvarchar(128)

始终返回 NULL。

COLLATION_SCHEMA

nvarchar(128)

始终返回 NULL。

COLLATION_NAME

nvarchar(128)

如果列是字符数据或 text 数据类型,则为排序规则返回唯一的名称。否则,返回 NULL。

DOMAIN_CATALOG

nvarchar(128)

如果此列是别名数据类型,则此列是在其中创建用户定义数据类型的数据库的名称。否则,返回 NULL。

DOMAIN_SCHEMA

nvarchar(128)

如果列是用户定义数据类型,则此列将返回该用户定义数据类型的架构名称。否则,返回 NULL。

DOMAIN_NAME

nvarchar(128)

如果列是用户定义数据类型,则此列是该用户定义数据类型的名称。否则,返回 NULL。

备注

在 SQL Server 2005 中,INFORMATION_SCHEMA.COLUMNS 视图的 ORDINAL_POSITION 列与 COLUMNS_UPDATED 函数所返回列的位模式不兼容。若要获取与 COLUMNS_UPDATED 兼容的位模式,在查询 INFORMATION_SCHEMA.COLUMNS 视图时必须引用 COLUMNPROPERTY 系统函数的 ColumnID 属性。例如:

USE AdventureWorks;
GO
SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Contact';
GO

请参阅

参考

系统视图 (Transact-SQL)
信息架构视图 (Transact-SQL)
sys.syscharsets (Transact-SQL)
sys.columns (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.configurations (Transact-SQL)
sys.objects (Transact-SQL)
sys.types (Transact-SQL)
COLUMNS_UPDATED (Transact-SQL)

其他资源

查询 SQL Server 系统目录

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

新增内容:
  • COLUMN_DEFAULT 列中,添加了关于在 SQL Server 2005 中如何存储 SQL 表达式的内容。