sys.columns (Transact-SQL)

Retourne une ligne pour chaque colonne d'un objet comportant des colonnes, telles que des vues ou des tables. Voici une liste de types d'objet comportant des colonnes :

  • Fonctions table d'assembly (FT)

  • Fonctions table inline SQL (IF)

  • Tables internes (IT)

  • Tables système (S)

  • Fonctions table SQL (TF)

  • Tables utilisateur

  • Vues (V)

Nom de la colonne

Type de données

Description

object_id

int

Identificateur de l'objet auquel appartient cette colonne.

name

sysname

Nom de la colonne. Unique dans l'objet.

column_id

int

Identificateur de la colonne. Unique dans l'objet.

Les ID de colonnes peuvent ne pas être séquentiels.

system_type_id

tinyint

ID du type système de la colonne.

user_type_id

int

ID du type de colonne tel que défini par l'utilisateur.

Pour retourner le nom du type, établissez une jointure à l'affichage catalogue sys.types sur cette colonne.

max_length

smallint

Longueur maximale (en octets) de la colonne.

-1 = le type de données de la colonne est varchar(max), nvarchar(max), varbinary(max) ou xml.

Pour les colonnes de type text, la valeur max_length sera 16 ou la valeur définie par sp_tableoption 'text in row'.

precision

tinyint

Précision de la colonne si elle est numérique ; sinon, 0.

scale

tinyint

Échelle de la colonne si elle est numérique ; sinon, la valeur est 0.

collation_name

sysname

Nom du classement de la colonne si elle est basée sur les caractères ; sinon, NULL.

is_nullable

bit

1 = La colonne accepte les valeurs NULL.

is_ansi_padded

bit

1 = La colonne utilise le comportement ANSI_PADDING ON si elle est de type caractère, binaire ou variant.

0 = La colonne n'est pas de type caractère, binaire ou variant.

is_rowguidcol

bit

1 = La colonne est un ROWGUIDCOL déclaré.

is_identity

bit

1 = La colonne a des valeurs d'identité.

is_computed

bit

1 = La colonne est calculée.

is_filestream

bit

1 = La colonne est une colonne FILESTREAM.

is_replicated

bit

1 = La colonne est répliquée.

is_non_sql_subscribed

bit

1 = La colonne a un abonné autre que SQL Server.

is_merge_published

bit

1 = La colonne est associée à une publication fusionnée.

is_dts_replicated

bit

1 = La colonne est répliquée à l'aide de SSIS.

is_xml_document

bit

1 = Le contenu est un document XML complet.

0 = Le contenu est un fragment de document ou les données de colonne ne sont pas de type xml.

xml_collection_id

int

Différent de zéro si les données de la colonne sont xml et si vous tapez XML. La valeur sera l'ID de la collection contenant l'espace de nom du schéma XML de validation de la colonne.

0 = Aucune collection de schéma XML.

default_object_id

int

ID de l'objet par défaut, qu'il soit de type sys.sp_bindefault autonome ou une contrainte DEFAULT inline, de niveau colonne. La colonne parent_object_id d'un objet par défaut inclus de niveau colonne est une référence à la table elle-même.

0 = Aucune valeur par défaut.

rule_object_id

int

ID de la règle autonome liée à la colonne à l'aide de la procédure sys.sp_bindrule.

0 = Aucune règle autonome. Pour plus d'informations sur les contraintes CHECK de niveau colonne, consultez sys.check_constraints (Transact-SQL).

is_sparse

bit

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

is_column_set

bit

1 = La colonne est un jeu de colonnes. Pour plus d'informations, consultez Utiliser des colonnes éparses.

Autorisations

La visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées.

Voir aussi

Référence

Vues système (Transact-SQL)

Vues de catalogue d'objets (Transact-SQL)

Affichages catalogue (Transact-SQL)

sys.all_columns (Transact-SQL)

sys.system_columns (Transact-SQL)

Concepts

Questions fréquentes sur l'interrogation des catalogues système de SQL Server