COLUMNS

se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 10.4 LTS y versiones posteriores solo casilla marcada como Sí Catálogo de Unity

INFORMATION_SCHEMA.COLUMNS describe las columnas de las tablas y vistas (relaciones) del 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 Nullable Estándar Descripción
TABLE_CATALOG STRING No Catálogo que contiene la relación.
TABLE_SCHEMA STRING No Esquema que contiene la relación.
TABLE_NAME STRING No Nombre de la relación de la que forma parte la columna.
COLUMN_NAME STRING No Nombre de la columna.
ORDINAL_POSITION INTEGER No Posición (numerada de 1) de la columna dentro de la relación.
COLUMN_DEFAULT STRING No El valor predeterminado que se usa cuando la columna no se especifica en una instrucción INSERT es NULL si no está definida.
IS_NULLABLE STRING No YES si la columna admite valores NULL; de lo contrario NO.
DATA_TYPE STRING No Nombre de tipo de datos simple de la columna, o STRUCT, o ARRAY.
FULL_DATA_TYPE STRING No No El tipo de datos tal y como se especifica en la definición de columna.
CHARACTER_MAXIMUM_LENGTH INTEGER NULL siempre está reservado para su uso futuro.
CHARACTER_OCTET_LENGTH STRING NULL siempre está reservado para su uso futuro.
NUMERIC_PRECISION INTEGER 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 Para 10, DECIMAL, en el caso de los demás tipos numéricos 2, en caso contrario, NULL.
NUMERIC_SCALE INTEGER 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 Para DATE 0, para TIMESTAMP y INTERVAL ... SECOND 3, cualquier otro INTERVAL 0, de lo contrario, NULL.
INTERVAL_TYPE STRING Para INTERVAL la parte unitaria del intervalo, por ejemplo, 'YEAR TO MONTH', de lo contrario NULL.
INTERVAL_PRECISION INTERAL NULL siempre está reservado para su uso futuro.
MAXIMUM_CARDINALITY INTEGER NULL siempre está reservado para su uso futuro.
IS_IDENTITY STRING No "NO" siempre está reservado para su uso futuro.
IDENTITY_GENERATION STRING NULL siempre está reservado para su uso futuro.
IDENTITY_START STRING NULL siempre está reservado para su uso futuro.
IDENTITY_INCREMENT STRING NULL siempre está reservado para su uso futuro.
IDENTITY_MAXIMUM STRING NULL siempre está reservado para su uso futuro.
IDENTITY_MINIMUM STRING NULL siempre está reservado para su uso futuro.
IDENTITY_CYCLE STRING NULL siempre está reservado para su uso futuro.
IS_GENERATED STRING NULL siempre está reservado para su uso futuro.
GENERATION_EXPRESSION STRING NULL siempre está reservado para su uso futuro.
IS_SYSTEM_TIME_PERIOD_START STRING No NO siempre está reservado para su uso futuro.
IS_SYSTEM_TIME_PERIOD_END STRING No NO siempre está reservado para su uso futuro.
SYSTEM_TIME_PERIOD_TIMESTAMP_GENERATION STRING NULL siempre está reservado para su uso futuro.
IS_UPDATABLE STRING No YES si la columna se puede actualizar; de lo contrario NO.
PARTITION_ORDINAL_POSITION INTEGER No Posición (numerada de 1) de la columna en la partición, NULL si no es una columna de partición.
COMMENT STRING 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.tables
    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