Modification des propriétés d'une colonne

Chaque colonne d'une table présente un ensemble de propriétés, telles que le nom, le type de données, la possibilité de valeurs NULL et la longueur des données. L'ensemble complet des propriétés d'une colonne constitue la définition de la colonne dans une table.

Type des données d'une colonne

Le type de données d'une colonne existante peut être modifié à condition que les données situées dans la colonne puissent être converties implicitement dans le nouveau type de données. Pour plus d'informations, consultez ALTER TABLE (Transact-SQL).

Longueur des données d'une colonne

Lorsque vous sélectionnez un type de données, la longueur est définie automatiquement. Vous pouvez augmenter ou réduire la propriété de longueur uniquement pour une colonne avec un type de données binary, char, nchar, varbinary, varchar ou nvarchar. Pour les colonnes d'autres types de données, la longueur est fonction du type de données et ne peut pas être modifiée. Si la nouvelle longueur spécifiée est inférieure à la longueur initiale de la colonne, toutes les valeurs de la colonne de taille supérieure à la nouvelle longueur sont tronquées sans avertissement. Vous ne pouvez pas modifier la longueur d'une colonne définie avec une contrainte PRIMARY KEY ou FOREIGN KEY.

Précision d'une colonne

La précision d'une colonne numérique est le nombre maximal de chiffres utilisés par le type de données sélectionné. Quant à la précision d'une colonne non numérique, elle fait généralement référence soit à la longueur maximale, soit à la longueur définie de la colonne.

Pour tous les types de données à l'exception de decimal et numeric, la précision est définie automatiquement. Avec ces types de données, elle peut être modifiée de façon à redéfinir le nombre maximal de chiffres utilisés par ces colonnes. Moteur de base de données SQL Server vous empêche de modifier la précision d'une colonne à laquelle un de ces types de données n'est pas affecté.

Échelle d'une colonne

L'échelle d'une colonne de type numeric ou decimal est le nombre maximum de chiffres situés à droite du séparateur décimal (virgule). Lorsque vous sélectionnez un type de données, l'échelle de la colonne est définie sur 0 par défaut. Pour les colonnes avec nombres à virgule flottante approximatifs, l'échelle n'est pas définie car le nombre de chiffres situés à droite du séparateur décimal n'est pas fixe. Vous pouvez modifier l'échelle d'une colonne de type numeric ou decimal afin de redéfinir le nombre de chiffres pouvant apparaître à droite du séparateur décimal.

Possibilité de valeur nulle d'une colonne

Il est possible de définir une colonne comme acceptant ou interdisant les valeurs NULL. Par défaut, une colonne accepte les valeurs NULL. Il est possible de modifier une colonne existante pour qu'elle n'accepte plus les valeurs NULL, à condition qu'aucune valeur NULL n'existe dans cette colonne et qu'aucun index n'y soit créé. Pour interdire les valeurs NULL dans une colonne existante qui en contient déjà :

  1. Ajoutez une nouvelle colonne avec la définition DEFAULT qui insère une valeur valide à la place de NULL.

  2. Copiez les données de l'ancienne colonne (existante) vers la nouvelle.

  3. Supprimez l'ancienne colonne.

Il est possible de transformer une colonne qui n'accepte pas les valeurs NULL en une colonne qui les accepte, sauf si une contrainte PRIMARY KEY est définie sur cette colonne.

Colonnes fragmentées et jeux de colonnes

Les colonnes fragmentées sont des colonnes qui contiennent des valeurs NULL pour la plupart des lignes dans la table. Envisagez d'utiliser des colonnes fragmentées lorsque 20 à 40 pour cent des valeurs dans une colonne seront NULL. Les colonnes fragmentées sont des colonnes normales qui ont un stockage optimisé pour les valeurs NULL. Pour plus d'informations, consultez Utilisation de colonnes fragmentées.

Les tables qui utilisent des colonnes fragmentées peuvent désigner un jeu de colonnes pour retourner toutes les colonnes fragmentées dans la table. Un jeu de colonnes est une représentation XML non typée qui combine toutes les colonnes fragmentées d'une table dans une sortie structurée. Un jeu de colonnes est semblable à une colonne calculée, dans le sens où le jeu de colonnes n'est pas stocké physiquement dans la table. Pour plus d'informations, consultez Utilisation de jeux de colonnes.

Pour définir les propriétés d'une colonne

Pour afficher les propriétés d'une colonne

Pour renommer une colonne