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

SE APLICA A: síSQL Server (a partir de 2008) síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Esta función devuelve información de la columna o el parámetro.This function returns column or parameter information.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

COLUMNPROPERTY ( id , column , property )   

ArgumentosArguments

idid
Una expresión que contiene el identificador (Id.) de la tabla o del procedimiento.An expression containing the identifier (ID) of the table or procedure.

columncolumn
Una expresión que contiene el nombre de la columna o del parámetro.An expression containing the name of the column or parameter.

propertyproperty
Para el argumento id, el argumento propiedad especifica el tipo de información que devolverá la función COLUMNPROPERTY.For the id argument, the property argument specifies the information type that the COLUMNPROPERTY function will return. El argumento propiedad puede tener uno de estos valores:The property argument can have any one of these values:

ValorValue DescripciónDescription Valor devueltoValue returned
AllowsNullAllowsNull Permite valores NULL.Allows null values. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
ColumnIdColumnId Valor del Id. de columna correspondiente a sys.columns.column_id.Column ID value corresponding to sys.columns.column_id. Identificador de columnaColumn ID

Nota: Cuando se consultan varias columnas, pueden aparecer espacios en la secuencia de valores de los Id. de columna.Note: When querying multiple columns, gaps may appear in the sequence of Column ID values.
FullTextTypeColumnFullTextTypeColumn El valor TYPE COLUMN de la tabla que contiene la información del tipo de documento de la columna.The TYPE COLUMN in the table holding the document type information of the column. Id. de TYPE COLUMN de texto completo para la expresión de nombre de columna que se pasa como segundo parámetro de esta función.ID of the full-text TYPE COLUMN for the column name expression passed as the second parameter of this function.
GeneratedAlwaysTypeGeneratedAlwaysType Es el valor de columna generado por el sistema.Is column value system-generated. Corresponde a sys.columns.generated_always_typeCorresponds to sys.columns.generated_always_type Se aplica a: desde SQL Server 2016 (13.x)SQL Server 2016 (13.x) hasta SQL Server 2017SQL Server 2017.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017.

0: no siempre se genera.0: Not generated always

1: se genera siempre como comienzo de fila.1: Generated always at row start

2: se genera siempre como fin de fila.2: Generated always at row end
IsColumnSetIsColumnSet La columna es un conjunto de columnas.Column is a column set. Para obtener más información, vea Usar conjuntos de columnas.For more information, see Use Column Sets. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsComputedIsComputed La columna es una columna calculada.Column is a computed column. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsCursorTypeIsCursorType El parámetro de procedimiento es del tipo CURSOR.Procedure parameter is of type CURSOR. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsDeterministicIsDeterministic La columna es determinista.Column is deterministic. Esta propiedad solo se aplica a columnas calculadas y columnas de vistas.This property applies only to computed columns and view columns. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input. No es una columna calculada o una columna de vista.Not a computed column or view column.
IsFulltextIndexedIsFulltextIndexed La columna se registra para la indización de texto completo.Column is registered for full-text indexing. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsHiddenIsHidden Es el valor de columna generado por el sistema.Is column value system-generated. Corresponde a sys.columns.is_hiddenCorresponds to sys.columns.is_hidden Se aplica a: desde SQL Server 2017SQL Server 2017 hasta SQL Server 2017SQL Server 2017.Applies to: SQL Server 2017SQL Server 2017 through SQL Server 2017SQL Server 2017.

0: no está oculto0: Not hidden

1: Hidden1: Hidden
IsIdentityIsIdentity La columna utiliza la propiedad IDENTITY.Column uses the IDENTITY property. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsIdNotForReplIsIdNotForRepl La columna comprueba el valor IDENTITY_INSERT.Column checks for the IDENTITY_INSERT setting. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsIndexableIsIndexable La columna se puede indizar.Column can be indexed. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsOutParamIsOutParam El parámetro de procedimiento es un parámetro de salida.Procedure parameter is an output parameter. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsPreciseIsPrecise La columna es precisa.Column is precise. Esta propiedad solo se aplica a columnas deterministas.This property applies only to deterministic columns. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input. No es una columna deterministaNot a deterministic column
IsRowGuidColIsRowGuidCol La columna es del tipo de datos uniqueidentifier y se define con la propiedad ROWGUIDCOL.Column has the uniqueidentifier data type, and is defined with the ROWGUIDCOL property. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsSparseIsSparse La columna es una columna dispersa.Column is a sparse column. Para obtener más información, vea Usar columnas dispersas.For more information, see Use Sparse Columns. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsSystemVerifiedIsSystemVerified El Motor de base de datosDatabase Engine puede comprobar las propiedades de determinismo y precisión de la columna.The Motor de base de datosDatabase Engine can verify the determinism and precision properties of the column. Esta propiedad solo se aplica a columnas calculadas y columnas de vistas.This property applies only to computed columns and columns of views. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
IsXmlIndexableIsXmlIndexable La columna XML se puede utilizar en un índice XML.The XML column can be used in an XML index. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
PrecisiónPrecision Longitud del tipo de datos de la columna o el parámetro.Data type length of the column or parameter. Longitud del tipo de datos especificado para la columnaThe length of the specified column data type

-1: xml o tipos de valor grandes-1: xml or large value types

NULL: entrada no válidaNULL: invalid input.
EscalaScale Escala del tipo de datos de la columna o del parámetro.Scale for the column or parameter data type. El valor de escala.The scale value

NULL: entrada no válidaNULL: invalid input.
StatisticalSemanticsStatisticalSemantics La columna está habilitada para la indización semántica.Column is enabled for semantic indexing. 1: TRUE1: TRUE

0: FALSE0: FALSE
SystemDataAccessSystemDataAccess La columna se deriva de una función que tiene acceso a los datos de los catálogos del sistema o de las tablas virtuales del sistema de SQL ServerSQL Server.Column is derived from a function that accesses data in the system catalogs or virtual system tables of SQL ServerSQL Server. Esta propiedad solo se aplica a columnas calculadas y columnas de vistas.This property applies only to computed columns and columns of views. 1: TRUE (indica acceso de solo lectura)1: TRUE (Indicates read-only access.)

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
UserDataAccessUserDataAccess La columna se deriva de una función que tiene acceso a los datos de las tablas de usuario, incluidas las vistas y tablas temporales, almacenadas en la instancia local de 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. Esta propiedad solo se aplica a columnas calculadas y columnas de vistas.This property applies only to computed columns and columns of views. 1: TRUE (indica acceso de solo lectura)1: TRUE (Indicates read-only access.)

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.
UsesAnsiTrimUsesAnsiTrim ANSI_PADDING se estableció em ON al crear la tabla.ANSI_PADDING was set ON at time of table creation. Esta propiedad solo se aplica a columnas o parámetros de tipo char o varchar.This property applies only to columns or parameters of type char or varchar. 1: TRUE1: TRUE

0: FALSE0: FALSE

NULL: entrada no válidaNULL: invalid input.

Tipos de valores devueltosReturn types

intint

ExcepcionesExceptions

Devuelve NULL si se produce un error o si el autor de la llamada no tiene permiso para ver el objeto.Returns NULL on error, or if a caller does not have permission to view the object.

Un usuario solo puede ver los metadatos de elementos protegibles que posea o para los que se le haya concedido permiso.A user can only view the metadata of securables that the user owns or on which the user has been granted permission. Esto significa que las funciones integradas de emisión de metadatos, como COLUMNPROPERTY, es posible que devuelvan NULL si el usuario no tiene el permiso correcto para el 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. Vea Configuración de visibilidad de los metadatos para obtener más información.See Metadata Visibility Configuration for more information.

NotasRemarks

Cuando se comprueba la propiedad determinista de una columna, primero se comprueba si se trata de una columna calculada.When checking the deterministic property of a column, first test whether the column is a computed column. El argumento IsDeterministic devuelve NULL para las columnas no calculadas.The IsDeterministic argument returns NULL for noncomputed columns. Las columnas calculadas se pueden especificar como columnas de índice.Computed columns can be specified as index columns.

EjemplosExamples

En este ejemplo se devuelve la longitud de la columna 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  

El conjunto de resultados es el siguiente.Here is the result set.

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

Vea tambiénSee also

Funciones de metadatos (Transact-SQL)Metadata Functions (Transact-SQL)
TYPEPROPERTY (Transact-SQL)TYPEPROPERTY (Transact-SQL)