Compartir a través de


COLUMNPROPERTY (Transact-SQL)

Devuelve información acerca de una columna o de un parámetro.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

COLUMNPROPERTY ( id , column , property )

Argumentos

  • id
    Es una expresión que contiene el identificador (Id.) de la tabla o del procedimiento.

  • column
    Es una expresión que contiene el nombre de la columna o del parámetro.

  • property
    Es una expresión que contiene la información que se devuelve para id y puede tener uno de los siguientes valores.

    Valor

    Descripción

    Valor devuelto

    AllowsNull

    Acepta valores NULL.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    ColumnId

    Valor del Id. de columna correspondiente a sys.columns.column_id.

    Id. de columna

    [!NOTA]

    Cuando se consultan varias columnas, pueden aparecer espacios en la secuencia de valores de los Id. de columna.

    FullTextTypeColumn

    TYPE COLUMN de la tabla que contiene la información del tipo de documento de column.

    Id. de TYPE COLUMN de texto completo de la columna pasada como segundo parámetro de esta propiedad.

    IsComputed

    La columna es una columna calculada.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    IsCursorType

    El parámetro de procedimiento es del tipo CURSOR.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    IsDeterministic

    La columna es determinista. Esta propiedad solo se aplica a columnas calculadas y columnas de vistas.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida. No es una columna calculada o una columna de vista.

    IsFulltextIndexed

    La columna se ha registrado para la indización de texto completo.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    IsIdentity

    La columna utiliza la propiedad IDENTITY.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    IsIdNotForRepl

    La columna comprueba el valor IDENTITY_INSERT.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    IsIndexable

    La columna se puede indizar.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    IsOutParam

    El parámetro de procedimiento es un parámetro de salida.

    1 = TRUE

    0 = FALSE o NULL = La entrada no es válida.

    IsPrecise

    La columna es precisa. Esta propiedad solo se aplica a columnas deterministas.

    1 = TRUE

    0 = FALSE o NULL = La entrada no es válida. No es una columna determinista

    IsRowGuidCol

    La columna es del tipo de datos uniqueidentifier y se ha definido con la propiedad ROWGUIDCOL.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    IsSystemVerified

    El Motor de base de datos puede comprobar las propiedades de determinismo y precisión de la columna. Esta propiedad solo se aplica a columnas calculadas y columnas de vistas.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    IsXmlIndexable

    La columna XML se puede utilizar en un índice XML.

    1 = TRUE

    0 = FALSE

    NULL = La entrada no es válida.

    Precision

    Longitud del tipo de datos de la columna o del parámetro.

    Longitud del tipo de datos especificado para la columna

    -1 = xml o tipos de valores grandes

    NULL = La entrada no es válida.

    Scale

    Escala del tipo de datos de la columna o del parámetro.

    Escala

    NULL = La entrada no es válida.

    StatisticalSemantics

    La columna está habilitada para la indización semántica.

    1 = TRUE

    0 = FALSE

    SystemDataAccess

    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 Server. Esta propiedad solo se aplica a columnas calculadas y columnas de vistas.

    1 = TRUE (indica acceso de solo lectura)

    0 = FALSE

    NULL = La entrada no es válida.

    UserDataAccess

    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 Server. Esta propiedad solo se aplica a columnas calculadas y columnas de vistas.

    1 = TRUE (indica acceso de solo lectura)

    0 = FALSE

    NULL = La entrada no es válida.

    UsesAnsiTrim

    ANSI_PADDING se estableció en ON la primera vez que se creó la tabla. Esta propiedad solo se aplica a columnas o parámetros de tipo char o varchar.

    1= TRUE

    0= FALSE

    NULL = La entrada no es válida.

    IsSparse

    La columna es una columna dispersa. Para obtener más información, vea Usar columnas dispersas.

    1= TRUE

    0= FALSE

    NULL = La entrada no es válida.

    IsColumnSet

    La columna es un conjunto de columnas. Para obtener más información, vea Usar conjuntos de columnas.

    1= TRUE

    0= FALSE

    NULL = La entrada no es válida.

Tipos de valor devueltos

int

Excepciones

Devuelve NULL si se produce un error o si el autor de la llamada no tiene permiso para ver el objeto.

Un usuario solo puede ver los metadatos de elementos protegibles que posea o para los que se le haya concedido permiso. Esto significa que las funciones integradas de emisión de metadatos, como COLUMNPROPERTY, pueden devolver NULL si el usuario no tiene ningún permiso para el objeto. Para obtener más información, vea Configuración de visibilidad de los metadatos.

Comentarios

Cuando compruebe la propiedad determinista de una columna, compruebe primero si se trata de una columna calculada. IsDeterministic devuelve NULL para las columnas no calculadas. Las columnas calculadas se pueden especificar como columnas de índice.

Ejemplos

En el ejemplo siguiente se devuelve la longitud de la columna LastName.

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

El conjunto de resultados es el siguiente.

Column Length

-------------

50

Vea también

Referencia

Funciones de metadatos (Transact-SQL)

OBJECTPROPERTY (Transact-SQL)

TYPEPROPERTY (Transact-SQL)