COLUMNS

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 10.4 LTS y versiones posteriores casilla marcada como Sí solo Unity Catalog

INFORMATION_SCHEMA.COLUMNS describe columnas de tablas y vistas (relaciones) en el catálogo.

Las filas devueltas se limitan a las relaciones con las que el usuario tiene privilegios para interactuar.

Definición

La relación COLUMNS contiene las columnas siguientes:

Nombre Tipo de datos Anulable Estándar Descripción
TABLE_CATALOG STRING No Sí Catálogo que contiene la relación.
TABLE_SCHEMA STRING No Sí Esquema que contiene la relación.
TABLE_NAME STRING No Sí Nombre de la relación de la que forma parte la columna.
COLUMN_NAME STRING No Sí Nombre de la columna.
ORDINAL_POSITION INTEGER No Sí Posición (numerada de 1) de la columna dentro de la relación.
COLUMN_DEFAULT STRING No Sí NULL siempre está reservado para su uso futuro.
IS_NULLABLE STRING No Sí YES si la columna admite valores NULL; de lo contrario NO.
FULL_DATA_TYPE STRING No No El tipo de datos tal y como se especifica en la definición de columna.
DATA_TYPE STRING No Sí Nombre de tipo de datos simple de la columna, o STRUCT, o ARRAY.
CHARACTER_MAXIMUM_LENGTH INTEGER Sí Sí NULL siempre está reservado para su uso futuro.
CHARACTER_OCTET_LENGTH STRING Sí Sí NULL siempre está reservado para su uso futuro.
NUMERIC_PRECISION INTEGER Sí Sí Para los tipos numéricos enteros de base 2, FLOAT, y DOUBLE, el número de bits admitidos. Para DECIMAL el número de dígitos, en caso contrario, NULL.
NUMERIC_PRECISION_RADIX INTEGER Sí Sí Para 10, DECIMAL, en el caso de los demás tipos numéricos 2, en caso contrario, NULL.
NUMERIC_SCALE INTEGER Sí Sí En el caso de los tipos numéricos enteros 0, en DECIMAL el número de dígitos situados a la derecha del separador decimal, NULL en caso contrario.
DATETIME_PRECISION INTEGER Sí Sí Para DATE 0, para TIMESTAMP y INTERVAL ... SECOND 3, cualquier otro INTERVAL 0, de lo contrario, NULL.
INTERVAL_TYPE STRING Sí Sí Para INTERVAL la parte unitaria del intervalo, por ejemplo, 'YEAR TO MONTH', de lo contrario NULL.
INTERVAL_PRECISION INTEGER Sí Sí NULL siempre está reservado para su uso futuro.
MAXIMUM_CARDINALITY INTEGER Sí Sí NULL siempre está reservado para su uso futuro.
IS_IDENTITY STRING No Sí Siempre 'NO', reservado para uso futuro.
IDENTITY_GENERATION STRING Sí Sí NULL siempre está reservado para su uso futuro.
IDENTITY_START STRING Sí Sí NULL siempre está reservado para su uso futuro.
IDENTITY_INCREMENT STRING Sí Sí NULL siempre está reservado para su uso futuro.
IDENTITY_MAXIMUM STRING Sí Sí NULL siempre está reservado para su uso futuro.
IDENTITY_MINIMUM STRING Sí Sí NULL siempre está reservado para su uso futuro.
IDENTITY_CYCLE STRING Sí Sí NULL siempre está reservado para su uso futuro.
IS_GENERATED STRING Sí Sí NULL siempre está reservado para su uso futuro.
GENERATION_EXPRESSION STRING Sí Sí NULL siempre está reservado para su uso futuro.
IS_SYSTEM_TIME_PERIOD_START STRING No Sí NO siempre está reservado para su uso futuro.
IS_SYSTEM_TIME_PERIOD_END STRING No Sí NO siempre está reservado para su uso futuro.
SYSTEM_TIME_PERIOD_TIMESTAMP_GENERATION STRING Sí Sí NULL siempre está reservado para su uso futuro.
IS_UPDATABLE STRING No Sí YES si la columna se puede actualizar; de lo contrario NO.
PARTITION_INDEX INTEGER Sí No Posición (numerada de 1) de la columna en la partición, NULL si no es una columna de partición.
COMMENT STRING Sí No Una descripción opcional de la columna.

Restricciones

Se aplican las restricciones siguientes a la relación COLUMNS:

Clase Nombre Lista de columnas Descripción
Clave principal COLUMNS_PK TABLE_CATALOG, TABLE_SCHEMA, , TABLE_NAME, COLUMN_NAME Identificador único de la columna.
Clave única COLUMNS_UK TABLE_CATALOG, TABLE_SCHEMA, , TABLE_NAME, ORDINAL_POSITION Identificador único de la columna.
Clave externa COLUMN_TABLES_FK TABLE_CATALOG, , TABLE_SCHEMA, TABLE_NAME Hace referencia a TABLES.

Ejemplos

-- 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