COLUMNS (Transact-SQL)
为当前数据库中当前用户可访问的每一列返回一行。
若要从这些视图中检索信息,请指定 INFORMATION_SCHEMA*.*view_name 的完全限定名称。
列名 |
数据类型 |
说明 |
||
---|---|---|---|---|
TABLE_CATALOG |
nvarchar(128) |
表限定符。 |
||
TABLE_SCHEMA |
nvarchar(128) |
包含该表的架构的名称。
|
||
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 |
二进制数据、字符数据或文本和图像数据的最大长度(字符)。 对于 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 |
datetime 和 ISO interval 数据类型的子类型代码。 对于其他数据类型,返回 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。 |
注释
INFORMATION_SCHEMA.COLUMNS 视图的 ORDINAL_POSITION 列与 COLUMNS_UPDATED 函数所返回列的位模式不兼容。 若要获取与 COLUMNS_UPDATED 兼容的位模式,在查询 INFORMATION_SCHEMA.COLUMNS 视图时必须引用 COLUMNPROPERTY 系统函数的 ColumnID 属性。 例如:
USE AdventureWorks2012;
GO
SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks2012.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Person';
GO
请参阅
参考
sys.syscharsets (Transact-SQL)
sys.sql_modules (Transact-SQL)