COLUMNS (Transact-SQL)
Renvoie une ligne pour chaque colonne accessible à l'utilisateur actuel dans la base de données actuelle.
Pour récupérer les informations de ces vues, spécifiez le nom complet de INFORMATION_SCHEMA.view_name.
Nom de colonne |
Type de données |
Description |
---|---|---|
TABLE_CATALOG |
nvarchar(128) |
Identificateur de la table |
TABLE_SCHEMA |
nvarchar(128) |
Nom du schéma qui contient la table.
Important
N'utilisez pas les vues INFORMATION_SCHEMA pour déterminer le schéma d'un objet. La seule méthode fiable pour rechercher le schéma d'un objet est d'interroger l'affichage catalogue sys.objects ou d'utiliser la fonction OBJECT_SCHEMA_NAME.
|
TABLE_NAME |
nvarchar(128) |
Nom de la table. |
COLUMN_NAME |
nvarchar(128) |
Nom de la colonne. |
ORDINAL_POSITION |
int |
Numéro d'identification de la colonne. |
COLUMN_DEFAULT |
nvarchar(4000) |
Valeur par défaut de la colonne SQL Server 2008 diffère de SQL Server 2000 par sa manière de décoder et de stocker les expressions SQL dans les métadonnées de catalogue. La sémantique de l'expression décodée est équivalente au texte d'origine, par contre la syntaxe n'est pas garantie. Par exemple, les espaces sont supprimés de l'expression décodée. Pour plus d'informations, consultez Changements de comportement des fonctionnalités du moteur de base de données de SQL Server 2008. |
IS_NULLABLE |
varchar(3) |
Valeur NULL possible dans la colonne. Si cette colonne accepte des valeurs NULL, elle renvoie YES. Dans le cas contraire, elle renvoie NO. |
DATA_TYPE |
nvarchar(128) |
Type de données fourni par le système. |
CHARACTER_MAXIMUM_LENGTH |
int |
Longueur maximale (en caractères) des données de type binaire, caractère, texte et image. -1 pour des types de données xml ou de valeurs élevées. Renvoie NULL dans les autres cas. Pour plus d'informations, consultez Types de données (Transact-SQL). |
CHARACTER_OCTET_LENGTH |
int |
Longueur maximale, en octets, des données de type binaire, caractère, texte et image. -1 pour les données xml et les données de type de valeur élevée. Renvoie NULL dans les autres cas. |
NUMERIC_PRECISION |
tinyint |
Précision des données numériques approximatives ou exactes, des données de type entier ou monétaire. Renvoie NULL dans les autres cas. |
NUMERIC_PRECISION_RADIX |
smallint |
Base de précision des données numériques approchées ou exactes, des données de type entier ou monétaire. Renvoie NULL dans les autres cas. |
NUMERIC_SCALE |
int |
Échelle des données numériques approchées ou exactes, des données de type entier ou monétaire. Renvoie NULL dans les autres cas. |
DATETIME_PRECISION |
smallint |
Code de sous-type pour les types de données datetime et ISO interval. Renvoie NULL pour les autres types de données. |
CHARACTER_SET_CATALOG |
nvarchar(128) |
Renvoie master. Ceci indique la base de données dans laquelle se trouve le jeu de caractères, si la colonne est de type character ou text. Renvoie NULL dans les autres cas. |
CHARACTER_SET_SCHEMA |
nvarchar(128) |
Renvoie toujours NULL. |
CHARACTER_SET_NAME |
nvarchar(128) |
Renvoie le nom unique du jeu de caractères si cette colonne est de type character ou text. Renvoie NULL dans les autres cas. |
COLLATION_CATALOG |
nvarchar(128) |
Renvoie toujours NULL. |
COLLATION_SCHEMA |
nvarchar(128) |
Renvoie toujours NULL. |
COLLATION_NAME |
nvarchar(128) |
Renvoie le nom unique du classement si la colonne est de type character ou text. Renvoie NULL dans les autres cas. |
DOMAIN_CATALOG |
nvarchar(128) |
Si la colonne est un type de données alias, elle correspond au nom de la base de données dans laquelle le type de données défini par l'utilisateur a été créé. Renvoie NULL dans les autres cas. |
DOMAIN_SCHEMA |
nvarchar(128) |
Si la colonne est un type de données défini par l'utilisateur, elle renvoie le nom du schéma du type de données défini par l'utilisateur. Renvoie NULL dans les autres cas.
Important
N'utilisez pas les vues INFORMATION_SCHEMA pour déterminer le schéma d'un type de données. La seule méthode fiable pour rechercher le schéma d'un type est d'utiliser la fonction TYPEPROPERTY.
|
DOMAIN_NAME |
nvarchar(128) |
Si la colonne est un type de données défini par l'utilisateur, elle représente le nom du type de données défini par l'utilisateur. Renvoie NULL dans les autres cas. |
Notes
La colonne ORDINAL_POSITION de la vue INFORMATION_SCHEMA.COLUMNS n'est pas compatible avec le modèle binaire des colonnes retournées par la fonction COLUMNS_UPDATED . Pour recevoir un modèle binaire compatible avec COLUMNS_UPDATED, vous devez référencer la propriété ColumnID de la fonction système COLUMNPROPERTY lorsque vous interrogez la vue INFORMATION_SCHEMA.COLUMNS. Par exemple :
USE AdventureWorks;
GO
SELECT COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Employee';
Exemples
Dans l'exemple suivant, vous obtenez les colonnes dans toutes les tables et toutes les vues dans la base de données qui n'autorisent pas la valeur NULL.
USE AdventureWorks;
GO
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE IS_NULLABLE = 'NO'
ORDER BY DATA_TYPE;
Voir aussi