COLUMNS (Transact-SQL)
Возвращает одну строку для каждого столбца, доступного для текущего пользователя в текущей базе данных.
Чтобы получить сведения из этих представлений, укажите полное имя INFORMATION_SCHEMA.view_name.
Имя столбца |
Тип данных |
Описание |
---|---|---|
TABLE_CATALOG |
nvarchar(128) |
Квалификатор таблицы. |
TABLE_SCHEMA |
nvarchar(128) |
Имя схемы, содержащей таблицу.
Важно!
Не используйте представления INFORMATION_SCHEMA, чтобы определить схему объекта. Единственный надежный способ найти схему объекта — направить запрос к представлению каталога sys.objects.
|
TABLE_NAME |
nvarchar(128) |
Имя таблицы. |
COLUMN_NAME |
nvarchar(128) |
Имя столбца. |
ORDINAL_POSITION |
int |
Идентификационный номер столбца. |
COLUMN_DEFAULT |
nvarchar(4000) |
Значение столбца по умолчанию. SQL Server 2008 отличается от SQL Server 2000 способом расшифровки и хранения выражений SQL в метаданных каталога. Семантика расшифрованных выражений соответствует исходному тексту, однако правильность синтаксиса не гарантируется. Например, символы пробела удаляются из расшифрованного выражения. Дополнительные сведения см. в разделе Изменения в работе функций компонента Database Engine в SQL Server 2008 R2. |
IS_NULLABLE |
varchar(3) |
Указывает, может ли столбец содержать значение NULL. Если для столбца допустимо значение 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 |
Код подтипа для типов данных 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.
Важно!
Не используйте представления INFORMATION_SCHEMA, чтобы определить схему типа данных. Единственный надежный способ найти схему типа — использовать функцию TYPEPROPERTY.
|
DOMAIN_NAME |
nvarchar(128) |
Если столбец имеет определяемый пользователем тип данных, то столбец является именем этого типа данных. Иначе возвращается значение NULL. |
Замечания
Столбец ORDINAL_POSITION представления INFORMATION_SCHEMA.COLUMNS не совместим с битовым шаблоном столбцов, возвращаемым функцией COLUMNS_UPDATED. Чтобы получить битовый шаблон, совместимый с COLUMNS_UPDATED, следует обратиться к свойству ColumnID системной функции COLUMNPROPERTY при запросе представления INFORMATION_SCHEMA.COLUMNS, как показано в следующем примере. Например:
USE AdventureWorks2008R2;
GO
SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks2008R2.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Person';
GO
См. также