COLUMNPROPERTY (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Cette fonction retourne des informations de colonne ou de paramètre.
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
Pour l’argument id, l’argument property spécifie le type des informations retournées par la fonction COLUMNPROPERTY
. L’argument property peut avoir une des valeurs suivantes :
Valeur | Description | Valeur retournée |
---|---|---|
AllowsNull | Autorise les valeurs NULL | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
ColumnId | Valeur d’identificateur de colonne correspondant à sys.columns.column_id. | ID de la colonne Remarque : Lors de requêtes sur plusieurs colonnes, des écarts peuvent apparaître dans l’ordre des valeurs d’identificateur de colonne. |
FullTextTypeColumn | TYPE COLUMN de la table qui contient les informations sur le type de document de la colonne. | Identificateur de TYPE COLUMN en texte intégral pour l’expression du nom de colonne passée comme second paramètre de cette fonction. |
GeneratedAlwaysType | Valeur de la colonne générée par le système. Correspond à sys.columns.generated_always_type | S’applique à : SQL Server 2016 (13.x) et versions ultérieures. 0 : Toujours non générée 1 : Toujours générée au début de ligne 2 : Toujours générée en fin de ligne |
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 incorrecte. |
IsComputed | Est une colonne calculée. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
IsCursorType | Le paramètre de la procédure est de type CURSOR. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
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 incorrecte. Aucune colonne calculée ou colonne de la vue. |
IsFulltextIndexed | Colonne inscrite pour l’indexation en texte intégral. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
IsHidden | Valeur de la colonne générée par le système. Correspond à sys.columns.is_hidden | S’applique à : SQL Server 2016 (13.x) et versions ultérieures. 0 : Non masquée 1 : Masquée |
IsIdentity | La colonne utilise la propriété IDENTITY. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
IsIdNotForRepl | La colonne vérifie le paramètre IDENTITY_INSERT. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
IsIndexable | La colonne peut être indexée. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
IsOutParam | Le paramètre de la procédure est un paramètre de sortie. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
IsPrecise | La colonne est précise. Cette propriété s'applique uniquement aux colonnes déterministes. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. Colonne non déterministe. |
IsRowGuidCol | La colonne a le type de données uniqueidentifier et est définie avec la propriété ROWGUIDCOL. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
IsSparse | La colonne est éparse. Pour plus d’informations, consultez Utiliser des colonnes éparses. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
IsSystemVerified | Moteur de base de données peut vérifier les propriétés de déterminisme et de précision de la colonne. Cette propriété s'applique uniquement aux colonnes calculées et aux colonnes de vues. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
IsXmlIndexable | La colonne XML peut être utilisée dans un index XML. | 1 : TRUE 0 : FALSE NULL : entrée incorrecte. |
Précision | 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 grande valeur NULL : entrée incorrecte. |
Mise à l’échelle | Échelle pour le type de données de la colonne ou du paramètre. | Valeur de l’échelle NULL : entrée incorrecte. |
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 incorrecte. |
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 incorrecte. |
UsesAnsiTrim | ANSI_PADDING est défini sur 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 incorrecte. |
Types de retour
int
Exceptions
Retourne NULL en cas d’erreur ou si un appelant n’est pas autorisé à voir 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, comme COLUMNPROPERTY
, peuvent retourner NULL si l’utilisateur ne dispose pas de l’autorisation appropriée sur l’objet. Pour plus d’informations, consultez Configuration de la visibilité des métadonnées.
Notes
Quand vous vérifiez la propriété déterministe d’une colonne, testez d’abord si la colonne est une colonne calculée. L’argument IsDeterministic retourne 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 retourne la longueur de la colonne LastName
.
USE AdventureWorks2022;
GO
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Person'),'LastName','PRECISION')AS 'Column Length';
GO
Voici le jeu de résultats.
Column Length
-------------
50
Voir aussi
Fonctions de métadonnées (Transact-SQL)
TYPEPROPERTY (Transact-SQL)