COLUMNPROPERTY (Transact-SQL)COLUMNPROPERTY (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Essa função retorna informações de coluna ou parâmetro.This function returns column or parameter information.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

COLUMNPROPERTY ( id , column , property )   

ArgumentosArguments

idid
Uma expressão que contém o identificador (ID) da tabela ou procedimento.An expression containing the identifier (ID) of the table or procedure.

columncolumn
Uma expressão que contém o nome da coluna ou parâmetro.An expression containing the name of the column or parameter.

propertyproperty
Para o argumento id, o argumento propriedade especifica o tipo de informação que a função COLUMNPROPERTY retornará.For the id argument, the property argument specifies the information type that the COLUMNPROPERTY function will return. O argumento property pode ter qualquer um destes valores:The property argument can have any one of these values:

ValorValue DescriçãoDescription Valor retornadoValue returned
AllowsNullAllowsNull Permite valores nulos.Allows null values. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
ColumnIdColumnId Valor de ID da coluna que corresponde a sys.columns.column_id.Column ID value corresponding to sys.columns.column_id. ID da colunaColumn ID

Observação: Ao consultar várias colunas, podem aparecer lacunas na sequência de valores de ID da Coluna.Note: When querying multiple columns, gaps may appear in the sequence of Column ID values.
FullTextTypeColumnFullTextTypeColumn A TYPE COLUMN na tabela contendo as informações de tipo de documento da coluna.The TYPE COLUMN in the table holding the document type information of the column. ID de TYPE COLUMN de texto completo da expressão de nome de coluna passada como segundo parâmetro dessa função.ID of the full-text TYPE COLUMN for the column name expression passed as the second parameter of this function.
GeneratedAlwaysTypeGeneratedAlwaysType O valor da coluna é gerado pelo sistema.Is column value system-generated. Corresponde a sys.columns.generated_always_typeCorresponds to sys.columns.generated_always_type Aplica-se a: do SQL Server 2016 (13.x)SQL Server 2016 (13.x) ao SQL Server 2017SQL Server 2017.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017.

0: não é gerado sempre0: Not generated always

1: gerado sempre no início da linha1: Generated always at row start

2: gerado sempre no fim da linha2: Generated always at row end
IsColumnSetIsColumnSet A coluna é um conjunto de colunas.Column is a column set. Para obter mais informações, veja Usar conjuntos de colunas.For more information, see Use Column Sets. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsComputedIsComputed É uma coluna computada.Column is a computed column. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsCursorTypeIsCursorType O parâmetro de procedimento é do tipo CURSOR.Procedure parameter is of type CURSOR. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsDeterministicIsDeterministic A coluna é determinística.Column is deterministic. Essa propriedade só se aplica a colunas computadas e colunas de exibição.This property applies only to computed columns and view columns. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input. Não é uma coluna computada nem uma coluna de exibição.Not a computed column or view column.
IsFulltextIndexedIsFulltextIndexed A coluna está registrada para indexação de texto completo.Column is registered for full-text indexing. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsHiddenIsHidden O valor da coluna é gerado pelo sistema.Is column value system-generated. Corresponde a sys.columns.is_hiddenCorresponds to sys.columns.is_hidden Aplica-se a: do SQL Server 2017SQL Server 2017 ao SQL Server 2017SQL Server 2017.Applies to: SQL Server 2017SQL Server 2017 through SQL Server 2017SQL Server 2017.

0: não oculto0: Not hidden

1: Hidden1: Hidden
IsIdentityIsIdentity A coluna usa a propriedade IDENTITY.Column uses the IDENTITY property. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsIdNotForReplIsIdNotForRepl A coluna verifica a configuração de IDENTITY_INSERT.Column checks for the IDENTITY_INSERT setting. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsIndexableIsIndexable A coluna pode ser indexada.Column can be indexed. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsOutParamIsOutParam O parâmetro do procedimento é um parâmetro de saída.Procedure parameter is an output parameter. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsPreciseIsPrecise A coluna é precisa.Column is precise. Essa propriedade só se aplica a colunas determinísticas.This property applies only to deterministic columns. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input. Não é uma coluna determinísticaNot a deterministic column
IsRowGuidColIsRowGuidCol A coluna tem o tipo de dados uniqueidentifier e está definida com a propriedade ROWGUIDCOL.Column has the uniqueidentifier data type, and is defined with the ROWGUIDCOL property. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsSparseIsSparse A coluna é esparsa.Column is a sparse column. Para obter mais informações, veja Usar colunas esparsas.For more information, see Use Sparse Columns. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsSystemVerifiedIsSystemVerified O Mecanismo de Banco de DadosDatabase Engine pode verificar as propriedades de determinismo e precisão da coluna.The Mecanismo de Banco de DadosDatabase Engine can verify the determinism and precision properties of the column. Essa propriedade só se aplica a colunas computadas e colunas de exibições.This property applies only to computed columns and columns of views. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
IsXmlIndexableIsXmlIndexable A coluna XML pode ser usada em um índice XML.The XML column can be used in an XML index. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
PrecisãoPrecision Comprimento do tipo de dados da coluna ou parâmetro.Data type length of the column or parameter. Comprimento do tipo de dados de coluna especificadoThe length of the specified column data type

-1: xml ou tipos de valor grande-1: xml or large value types

NULL = entrada inválida.NULL: invalid input.
EscalaScale Escala para o tipo de dados de parâmetro ou coluna.Scale for the column or parameter data type. O valor de escalaThe scale value

NULL = entrada inválida.NULL: invalid input.
StatisticalSemanticsStatisticalSemantics A coluna está habilitada para indexação semântica.Column is enabled for semantic indexing. 1: TRUE1: TRUE

0: FALSE0: FALSE
SystemDataAccessSystemDataAccess A coluna é derivada de uma função que acessa dados nos catálogos do sistema ou tabelas do sistema virtuais do SQL ServerSQL Server.Column is derived from a function that accesses data in the system catalogs or virtual system tables of SQL ServerSQL Server. Essa propriedade só se aplica a colunas computadas e colunas de exibições.This property applies only to computed columns and columns of views. 1: TRUE (indica acesso somente leitura.)1: TRUE (Indicates read-only access.)

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
UserDataAccessUserDataAccess A coluna é derivada de uma função que acessa dados em tabelas de usuário, incluindo exibições e tabelas temporárias, armazenadas na instância local do SQL ServerSQL Server.Column is derived from a function that accesses data in user tables, including views and temporary tables, stored in the local instance of SQL ServerSQL Server. Essa propriedade só se aplica a colunas computadas e colunas de exibições.This property applies only to computed columns and columns of views. 1: TRUE (indica acesso somente leitura.)1: TRUE (Indicates read-only access.)

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.
UsesAnsiTrimUsesAnsiTrim ANSI_PADDING foi definido como ON no momento da criação da tabela.ANSI_PADDING was set ON at time of table creation. Essa propriedade aplica-se apenas a colunas ou parâmetros do tipo char ou varchar.This property applies only to columns or parameters of type char or varchar. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL = entrada inválida.NULL: invalid input.

Tipos de retornoReturn types

intint

ExceçõesExceptions

Retornará NULL em caso de erro ou se um chamador não tiver permissão para exibir o objeto.Returns NULL on error, or if a caller does not have permission to view the object.

Um usuário só pode exibir metadados de protegíveis de sua propriedade ou para os quais recebeu permissão.A user can only view the metadata of securables that the user owns or on which the user has been granted permission. Isso significa que as funções internas que emitem metadados, como COLUMNPROPERTY, poderão retornar NULL se o usuário não tiver a permissão correta para o objeto.This means that metadata-emitting, built-in functions such as COLUMNPROPERTY might return NULL, if the user does not have correct permission on the object. Veja Configuração de Visibilidade de Metadados para obter mais informações.See Metadata Visibility Configuration for more information.

RemarksRemarks

Ao verificar a propriedade determinística de uma coluna, teste primeiro se a coluna é uma coluna computada.When checking the deterministic property of a column, first test whether the column is a computed column. O argumento IsDeterministic retorna NULL para colunas não computadas.The IsDeterministic argument returns NULL for noncomputed columns. Colunas computadas podem ser especificadas como colunas de índice.Computed columns can be specified as index columns.

ExemplosExamples

Este exemplo retorna o comprimento da coluna LastName.This example returns the length of the LastName column.

USE AdventureWorks2012;  
GO  
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Person'),'LastName','PRECISION')AS 'Column Length';  
GO  

Aqui está o conjunto de resultados.Here is the result set.

Column Length
-------------
50

Confira tambémSee also

Funções de metadados (Transact-SQL)Metadata Functions (Transact-SQL)
TYPEPROPERTY (Transact-SQL)TYPEPROPERTY (Transact-SQL)