Поделиться через


sys.columns (Transact-SQL)

Возвращает строку для каждого столбца объекта, имеющего столбцы, например представления или таблицы. Далее следует список типов объектов, имеющих столбцы:

  • возвращающие табличное значение функции сборки (FT);

  • встроенные возвращающие табличное значение функции SQL (IF);

  • внутренние таблицы (IT);

  • системные таблицы (S);

  • возвращающие табличное значение функции SQL (TF);

  • пользовательские таблицы (U);

  • представления (V).

Имя столбца

Тип данных

Описание

object_id

int

Идентификатор объекта, которому принадлежит этот столбец.

name

sysname

Имя столбца. Уникально в рамках объекта.

column_id

int

Идентификатор столбца. уникально в рамках объекта.

Идентификаторы столбца могут быть непоследовательными.

system_type_id

tinyint

Идентификатор системного типа столбца.

user_type_id

int

Идентификатор определенного пользователем типа столбца.

Чтобы вернуть имя типа, создайте в этом столбце соединение с представлением каталога sys.types.

max_length

smallint

Максимальная длина столбца (в байтах).

-1 = тип данных столбца varchar(max), nvarchar(max), varbinary(max) или xml.

Для столбцов типа text значение max_length будет равно 16 или значению, заданному хранимой процедурой sp_tableoption 'text in row'.

precision

tinyint

Точность столбца, если он является числовым; в противном случае — 0.

scale

tinyint

Масштаб значений столбца в случае числового выражения; в противном случае — 0.

collation_name

sysname

Имя параметров сортировки столбца, если он символьный; в противном случае — значение NULL.

is_nullable

bit

1 = столбец может принимать значение NULL.

is_ansi_padded

bit

1 = столбец использует поведение ANSI_PADDING ON, если имеет тип данных character, binary или variant.

0 = столбец имеет тип данных, отличный от character, binary или variant.

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 столбца.

0 = нет коллекции схем XML.

default_object_id

int

Идентификатор объекта «значение по умолчанию» не зависит от того, является ли объект автономным объектом sys.sp_bindefault или встроенным ограничением DEFAULT уровня столбца. Столбец parent_object_id используемого по умолчанию встроенного объекта на уровне столбца является ссылкой на саму таблицу.

0 = Значение по умолчанию отсутствует.

rule_object_id

int

Идентификатор изолированного правила, привязанного к столбцу с помощью процедуры sys.sp_bindrule.

0 = изолированное правило отсутствует. Сведения об ограничениях CHECK для столбцов см. в разделе sys.check_constraints (Transact-SQL).

is_sparse

bit

1 = столбец является разреженным. Дополнительные сведения см. в разделе Использование разреженных столбцов.

is_column_set

bit

1 = столбец является набором столбцов. Дополнительные сведения см. в разделе Использование разреженных столбцов.

Разрешения

Видимость метаданных в представлениях каталогов ограничивается защищаемыми объектами, которыми пользователь владеет или на которые ему были предоставлены разрешения. Дополнительные сведения см. в разделе Настройка видимости метаданных.

См. также

Справочник

Системные представления (Transact-SQL)

Представления каталога объектов (Transact-SQL)

Представления каталога (Transact-SQL)

sys.all_columns (Transact-SQL)

sys.system_columns (Transact-SQL)

Основные понятия

Часто задаваемые вопросы о запросах к системному каталогу сервера SQL Server