COLUMNPROPERTY (Transact-SQL)

Renvoie des informations sur une colonne ou un paramètre.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

COLUMNPROPERTY ( id , column , property ) 

Arguments

  • id
    Expression contenant l'identificateur (ID) de la table ou de la procédure.

  • column
    Expression contenant le nom de la colonne ou du paramètre.

  • property
    Expression contenant les informations à renvoyer pour id qui peut prendre l'une des valeurs suivantes.

    Valeur

    Description

    Valeur retournée

    AllowsNull

    Autorise les valeurs NULL

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    ColumnId

    Valeur de l'identificateur de colonne correspondant à sys.columns.column_id.

    ID de la colonne

    RemarqueRemarque
    Lors de requêtes sur plusieurs colonnes, des écarts peuvent apparaître dans l'ordre des valeurs d'identificateur de colonne.

    FullTextTypeColumn

    Valeur TYPE COLUMN de la table qui contient les informations sur le type de document de column.

    Identificateur de TYPE COLUMN en texte intégral pour la colonne passée en tant que second paramètre de cette propriété.

    isComputed

    Est une colonne calculée.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsCursorType

    Le paramètre de la procédure est de type CURSOR.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsDeterministic

    La colonne est déterministe. Cette propriété s'applique uniquement aux colonnes calculées et aux colonnes de la vue.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide. Aucune colonne calculée ou colonne de la vue.

    IsFulltextIndexed

    Colonne enregistrée pour l'indexation de texte intégral.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsIdentity

    La colonne utilise la propriété IDENTITY.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsIdNotForRepl

    La colonne vérifie le paramètre IDENTITY_INSERT.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsIndexable

    La colonne peut être indexée.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsOutParam

    Le paramètre de la procédure est un paramètre de sortie.

    1 = TRUE

    0 = FALSE NULL = Entrée non valide.

    IsPrecise

    La colonne est précise. Cette propriété s'applique uniquement aux colonnes déterministes.

    1 = TRUE

    0 = FALSE NULL = Entrée non valide. Colonne non déterministe.

    IsRowGuidCol

    La colonne a le type de données uniqueidentifier et est définie à l'aide de la propriété ROWGUIDCOL.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsSystemVerified

    Les propriétés de déterminisme et de précision de la colonne peuvent être vérifiées par le Moteur de base de données. Cette propriété s'applique uniquement aux colonnes calculées et aux colonnes de vues.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsXmlIndexable

    La colonne XML peut être utilisée dans un index XML.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    Precision

    Longueur du type de données de la colonne ou du paramètre.

    Longueur du type de données de la colonne spécifiée.

    -1 = xml ou types de valeur de grande taille

    NULL = Entrée non valide.

    Scale

    Échelle pour le type de données de la colonne ou du paramètre.

    Échelle

    NULL = Entrée non valide.

    StatisticalSemantics

    La colonne est activée en vue de l'indexation sémantique.

    1 = TRUE

    0 = FALSE

    SystemDataAccess

    La colonne est dérivée d'une fonction qui accède aux données dans les catalogues système ou les tables système virtuelles de SQL Server. Cette propriété s'applique uniquement aux colonnes calculées et aux colonnes de vues.

    1 = TRUE (indique un accès en lecture seule)

    0 = FALSE

    NULL = Entrée non valide.

    UserDataAccess

    La colonne est dérivée d'une fonction qui accède aux données dans les tables utilisateur, y compris les vues et les tables temporaires, stockées dans l'instance locale de SQL Server. Cette propriété s'applique uniquement aux colonnes calculées et aux colonnes de vues.

    1 = TRUE (indique un accès en lecture seule)

    0 = FALSE

    NULL = Entrée non valide.

    UsesAnsiTrim

    ANSI_PADDING avait pour valeur ON lors de la création de la table. Cette propriété ne s'applique qu'aux colonnes ou paramètres de type char ou varchar.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsSparse

    La colonne est éparse. Pour plus d'informations, consultez Utiliser des colonnes éparses.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

    IsColumnSet

    La colonne est un jeu de colonnes. Pour plus d'informations, consultez Utiliser des jeux de colonnes.

    1 = TRUE

    0 = FALSE

    NULL = Entrée non valide.

Types de retour

int

Exceptions

Retourne la valeur NULL en cas d'erreur ou si un appelant n'est pas autorisé à afficher l'objet.

Un utilisateur peut voir uniquement les métadonnées des éléments sécurisables qui lui appartiennent ou pour lesquels il dispose d'une autorisation. Cela signifie que les fonctions intégrées générant des métadonnées, telles que COLUMNPROPERTY, peuvent retourner la valeur NULL si l'utilisateur ne dispose d'aucune autorisation sur l'objet. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées.

Notes

Lorsque vous vérifiez la propriété déterministe d'une colonne, assurez-vous d'abord que la colonne est calculée. IsDeterministic renvoie la valeur NULL pour les colonnes non calculées. Les colonnes calculées peuvent être spécifiées sous la forme de colonnes d'index.

Exemples

L'exemple suivant renvoie la longueur de la colonne LastName.

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

Voici l'ensemble des résultats.

Column Length

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

50

Voir aussi

Référence

Fonctions de métadonnées (Transact-SQL)

OBJECTPROPERTY (Transact-SQL)

TYPEPROPERTY (Transact-SQL)