COLUMNS (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric

Retorna uma linha para cada coluna que pode ser acessada pelo usuário atual no banco de dados atual.

Para recuperar informações dessas exibições, especifique o nome totalmente qualificado de INFORMATION_SCHEMA.view_name.

Nome da coluna Tipo de dados Descrição
TABLE_CATALOG nvarchar(128) Qualificador da tabela.
TABLE_SCHEMA nvarchar(128) Nome do esquema que contém a tabela.

Importante: não use exibições INFORMATION_SCHEMA para determinar o esquema de um objeto. Exibições INFORMATION_SCHEMA representam apenas um subconjunto dos metadados de um objeto. O único modo confiável de localizar o esquema de um objeto é consultar a exibição do catálogo sys.objects.
TABLE_NAME nvarchar(128) Nome da tabela.
COLUMN_NAME nvarchar(128) Nome da coluna.
ORDINAL_POSITION int Número de identificação da coluna.
COLUMN_DEFAULT Nvarchar(4000) Valor padrão da coluna.
IS_NULLABLE varchar(3) Possibilidade de nulidade da coluna. Se essa coluna permitir NULL, ela retornará YES. Caso contrário, será retornado NO.
DATA_TYPE nvarchar(128) Tipo de dados fornecido pelo sistema.
CHARACTER_MAXIMUM_LENGTH int Comprimento máximo, em caracteres, de dados binários, dados de caracteres e dados de texto e imagem.

-1 para dados XML e de tipo de valor grande. Caso contrário, será retornado NULL. Para obter mais informações, consulte Tipos de dados (Transact-SQL).
CHARACTER_OCTET_LENGTH int Comprimento máximo, em bytes, de dados binários, dados de caracteres e dados de texto e imagem.

-1 para dados XML e de tipo de valor grande. Caso contrário, será retornado NULL.
NUMERIC_PRECISION tinyint Precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
NUMERIC_PRECISION_RADIX smallint Base de precisão de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
NUMERIC_SCALE int Escala de dados numéricos aproximados, dados numéricos exatos, dados de inteiro ou dados monetários. Caso contrário, será retornado NULL.
DATETIME_PRECISION smallint Código de subtipo para tipos de dados datetime e intervalo ISO. Para outros tipos de dados, é retornado NULL.
CHARACTER_SET_CATALOG nvarchar(128) Retorna mestre. Isso indica o banco de dados no qual o conjunto de caracteres está localizado, se a coluna for dados de caractere ou tipo de dados de texto . Caso contrário, será retornado NULL.
CHARACTER_SET_SCHEMA nvarchar(128) Sempre retorna NULL.
CHARACTER_SET_NAME nvarchar(128) Retorna o nome exclusivo do conjunto de caracteres se essa coluna for do tipo dados de caractere ou texto . Caso contrário, será retornado NULL.
COLLATION_CATALOG nvarchar(128) Sempre retorna NULL.
COLLATION_SCHEMA nvarchar(128) Sempre retorna NULL.
COLLATION_NAME nvarchar(128) Retorna o nome exclusivo da ordenação se a coluna for do tipo dados de caractere ou texto . Caso contrário, será retornado NULL.
DOMAIN_CATALOG nvarchar(128) Se a coluna for do tipo de dados de alias, essa coluna será o nome do banco de dados no qual foi criado o tipo de dados definido pelo usuário. Caso contrário, será retornado NULL.
DOMAIN_SCHEMA nvarchar(128) Se a coluna for do tipo de dados definido pelo usuário, essa coluna retornará o nome do esquema do tipo de dados definido pelo usuário. Caso contrário, será retornado NULL.

Importante: não use INFORMATION_SCHEMA exibições para determinar o esquema de um tipo de dados. O único modo seguro para localizar o esquema de um tipo é usar a função TYPEPROPERTY.
DOMAIN_NAME nvarchar(128) Se a coluna for do tipo de dados definido pelo usuário, essa coluna será o nome do tipo de dados definido pelo usuário. Caso contrário, será retornado NULL.

Comentários

A ORDINAL_POSITION coluna do INFORMATION_SCHEMA. A exibição COLUMNS não é compatível com o padrão de bits das colunas retornadas pela função COLUMNS_UPDATED. Para obter um padrão de bits compatível com COLUMNS_UPDATED, você deve fazer referência à propriedade ColumnID da função do sistema COLUMNPROPERTY ao consultar o INFORMATION_SCHEMA. COLUNAS . Por exemplo:

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  

Confira também