СТОЛБЦЫ

Область применения:флажок Databricks SQL флажок Databricks Runtime 10.4 LTS и более поздней флажок версии каталога Unity

INFORMATION_SCHEMA. СТОЛБЦЫ описывают столбцы таблиц и представлений (отношений) в каталоге.

Возвращаемые строки ограничены отношениями, с которыми пользователю разрешено взаимодействовать.

Определение

Отношение COLUMNS содержит следующие столбцы:

Имя. Тип данных Допускает значение NULL Стандартные Description
TABLE_CATALOG STRING No Да Каталог, содержащий отношение.
TABLE_SCHEMA STRING No Да Схема, содержащая отношение.
TABLE_NAME STRING No Да Имя отношения, частью которого является столбец.
COLUMN_NAME STRING No Да Имя столбца.
ORDINAL_POSITION INTEGER No Да Позиция (нумерация от 1) столбца в отношении.
COLUMN_DEFAULT STRING No Да Значение по умолчанию, используемое, если столбец не указан в инструкции INSERT, NULL если он не определен.
IS_NULLABLE STRING No Да YES, если столбец допускает значения NULL; в противном случае — NO.
FULL_DATA_TYPE STRING No No Тип данных, указанный в определении столбца.
DATA_TYPE STRING No Да Простое имя типа данных столбца: STRUCT или ARRAY.
CHARACTER_MAXIMUM_LENGTH INTEGER Да Да Всегда NULL; зарезервировано для использования в будущем.
CHARACTER_OCTET_LENGTH STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
NUMERIC_PRECISION INTEGER Да Да Для целых числовых типов с основанием 2 FLOAT и DOUBLE, количество поддерживаемых битов. Для DECIMAL — количество цифр; в противном случае — NULL.
NUMERIC_PRECISION_RADIX INTEGER Да Да Для DECIMAL — 10, для всех остальных числовых типов 2; в противном случае — NULL.
NUMERIC_SCALE INTEGER Да Да Для целочисленных типов — 0, для DECIMAL — количество цифр справа от десятичной запятой; в противном случае — NULL.
DATETIME_PRECISION INTEGER Да Да Для DATE — 0, для TIMESTAMP и INTERVAL... SECOND — 3, для любого другого INTERVAL — 0; в противном случае — NULL.
INTERVAL_TYPE STRING Да Да Для INTERVAL — часть единицы интервала, например 'YEAR TO MONTH'; в противном случае — NULL.
INTERVAL_PRECISION INTERAL Да Да Всегда NULL; зарезервировано для использования в будущем.
MAXIMUM_CARDINALITY INTEGER Да Да Всегда NULL; зарезервировано для использования в будущем.
IS_IDENTITY STRING No Да Всегда NO; зарезервировано для использования в будущем.
IDENTITY_GENERATION STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
IDENTITY_START STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
IDENTITY_INCREMENT STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
IDENTITY_MAXIMUM STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
IDENTITY_MINIMUM STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
IDENTITY_CYCLE STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
IS_GENERATED STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
GENERATION_EXPRESSION STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
IS_SYSTEM_TIME_PERIOD_START STRING No Да Всегда NO; зарезервировано для использования в будущем.
IS_SYSTEM_TIME_PERIOD_END STRING No Да Всегда NO; зарезервировано для использования в будущем.
SYSTEM_TIME_PERIOD_TIMESTAMP_GENERATION STRING Да Да Всегда NULL; зарезервировано для использования в будущем.
IS_UPDATABLE STRING No Да YES, если столбец обновляемый; в противном случае — NO.
PARTITION_ORDINAL_POSITION INTEGER Да Нет Позиция (нумерация от 1) столбца в разделе, NULL — если это не столбец разделения.
COMMENT STRING Да Нет Необязательное описание столбца.

Ограничения

К отношению COLUMNS применяются следующие ограничения:

Класс Имя. Список столбцов Description
Первичный ключ COLUMNS_PK TABLE_CATALOG, , TABLE_SCHEMATABLE_NAMECOLUMN_NAME Уникальный идентификатор столбца.
Уникальный ключ COLUMNS_UK TABLE_CATALOG, , TABLE_SCHEMATABLE_NAME, ORDINAL_POSITION) Уникальный идентификатор столбца.
Внешний ключ COLUMN_TABLES_FK TABLE_CATALOG, , TABLE_SCHEMATABLE_NAME Ссылается на TABLES.

Примеры

-- Show the columns of the CATALOG_PRIVILEGES relation in the main.information_schema schema.
> SELECT ordinal_position, column_name, data_type
    FROM main.information_schema.columns
    WHERE table_schema = 'information_schema'
      AND table_name = 'catalog_privileges'
    ORDER BY ordinal_position;
  1  grantor        STRING
  2  grantee        STRING
  3  catalog_name   STRING
  4  privilege_type STRING
  5  is_grantable   STRING