COLUMNS (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Devuelve una fila por cada columna a la que puede tener acceso el usuario actual en la base de datos actual.

Para recuperar información de estas vistas, especifique el nombre completo de INFORMATION_SCHEMA.view_name.

Nombre de la columna Tipo de datos Descripción
TABLE_CATALOG nvarchar(128) Calificador de tabla.
TABLE_SCHEMA nvarchar(128) Nombre de esquema que contiene la tabla.

Importante: No utilice las vistas de INFORMATION_SCHEMA para determinar el esquema de un objeto. Estas vistas solo representan un subconjunto de los metadatos de un objeto. La única manera confiable de encontrar el esquema de un objeto es consultar la vista de catálogo sys.objects.
TABLE_NAME nvarchar(128) Nombre de la tabla.
COLUMN_NAME nvarchar(128) Nombre de la columna.
ORDINAL_POSITION int Número de identificación de la columna.
COLUMN_DEFAULT nvarchar(4000) Valor predeterminado de la columna.
IS_NULLABLE varchar(3) Nulabilidad de la columna. Si esta columna permite NULL, esta columna devuelve SÍ. En caso contrario devuelve NO.
DATA_TYPE nvarchar(128) Tipo de datos proporcionado por el sistema.
CHARACTER_MAXIMUM_LENGTH int Longitud máxima, en caracteres, de los datos binarios, de caracteres, o de texto e imagen.

-1 para los datos xml y de tipo de valor grande. En caso contrario se devuelve NULL. Para obtener más información, vea Tipos de datos (Transact-SQL).
CHARACTER_OCTET_LENGTH int Longitud máxima, en bytes, para datos binarios, datos de caracteres o datos de texto e imagen.

-1 para los datos xml y de tipo de valor grande. En caso contrario se devuelve NULL.
NUMERIC_PRECISION tinyint Precisión de los datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. En caso contrario se devuelve NULL.
NUMERIC_PRECISION_RADIX smallint Base de la precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. En caso contrario se devuelve NULL.
NUMERIC_SCALE int Escala de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. En caso contrario se devuelve NULL.
DATETIME_PRECISION smallint Código de subtipo para los tipos de datos datetime e intervalo ISO. Para los demás tipos de datos, se devuelve NULL.
CHARACTER_SET_CATALOG nvarchar(128) Devuelve el patrón. Esto indica la base de datos en la que se encuentra el juego de caracteres, si la columna es datos de caracteres o tipo de datos de texto . En caso contrario se devuelve NULL.
CHARACTER_SET_SCHEMA nvarchar(128) Siempre devuelve NULL.
CHARACTER_SET_NAME nvarchar(128) Devuelve el nombre único del juego de caracteres si esta columna es datos de caracteres o tipo de datos de texto . En caso contrario se devuelve NULL.
COLLATION_CATALOG nvarchar(128) Siempre devuelve NULL.
COLLATION_SCHEMA nvarchar(128) Siempre devuelve NULL.
COLLATION_NAME nvarchar(128) Devuelve el nombre único de la intercalación si la columna es datos de caracteres o tipo de datos de texto . En caso contrario se devuelve NULL.
DOMAIN_CATALOG nvarchar(128) Si la columna es de un tipo de datos de alias, esta columna es el nombre de la base de datos en que se creó el tipo de datos definido por el usuario. En caso contrario se devuelve NULL.
DOMAIN_SCHEMA nvarchar(128) Si la columna es de un tipo de datos definido por el usuario, devuelve el nombre del esquema del tipo de datos definido por el usuario. En caso contrario se devuelve NULL.

Importante: No use INFORMATION_SCHEMA vistas para determinar el esquema de un tipo de datos. La única manera confiable de localizar el esquema de un tipo consiste en utilizar la función TYPEPROPERTY.
DOMAIN_NAME nvarchar(128) Si la columna es de un tipo de datos definido por el usuario, esta columna es el nombre del tipo de datos definido por el usuario. En caso contrario se devuelve NULL.

Comentarios

Columna ORDINAL_POSITION del INFORMATION_SCHEMA. La vista COLUMNS no es compatible con el patrón de bits de las columnas devueltas por la función COLUMNS_UPDATED. Para obtener un patrón de bits compatible con COLUMNS_UPDATED, debe hacer referencia a la propiedad ColumnID de la función del sistema COLUMNPROPERTY al consultar el INFORMATION_SCHEMA. Vista COLUMNAS . Por ejemplo:

USE AdventureWorks2022;  
GO  
SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID  
FROM AdventureWorks2022.INFORMATION_SCHEMA.COLUMNS  
WHERE TABLE_NAME = 'Person';  
GO  

Consulte también