Partager via


Autorisation des valeurs NULL

Pour une colonne, le fait d'autoriser ou non les valeurs NULL détermine si les lignes de la table peuvent contenir une valeur NULL sous cette colonne. Une valeur nulle, ou NULL, n'est pas un zéro (0), un vide ou une chaîne de caractères nulle telle que «  ». NULL signifie qu'aucune entrée n'a été effectuée. La présence de la valeur NULL implique généralement que la valeur est inconnue ou n'a pas été définie. Par exemple, une valeur nulle dans la colonne SellEndDate de la table Production.Product de la base de données AdventureWorks ne signifie pas que l'article n'a pas de date de fin de commercialisation. NULL signifie que cette date est inconnue ou n'a pas encore été définie.

[!REMARQUE]

En général, il est conseillé de ne pas autoriser les valeurs NULL puisque, d'une part, celles-ci rendent plus complexes les requêtes et les mises à jour et, d'autre part, d'autres options de colonne, telles que les contraintes PRIMARY KEY, ne peuvent pas être employées avec des colonnes acceptant les valeurs NULL.

Si vous insérez une ligne mais qu'aucune valeur n'est spécifiée pour une colonne qui autorise les valeurs NULL, le Moteur de base de données indique la valeur NULL, sauf s'il existe un objet ou une définition DEFAULT. Une colonne définie avec le mot clé NULL accepte également une entrée explicite NULL de la part de l'utilisateur, peu importe le type de données ou si une valeur par défaut y est associée. N'entourez pas la valeur NULL de guillemets, sinon elle sera interprétée comme la chaîne de caractères « NULL ».

Une colonne n'autorisant pas les valeurs NULL contient des données à toutes les lignes, ce qui contribue à préserver l'intégrité des données. Lorsque les valeurs NULL sont interdites, l'utilisateur qui entre des données dans la table doit absolument taper une valeur dans la colonne, faute de quoi sa ligne n'est pas acceptée dans la base de données.

[!REMARQUE]

Les colonnes définies avec une contrainte PRIMARY KEY ou une propriété IDENTITY ne peuvent pas autoriser les valeurs NULL.