Qu’est-ce qu’une valeur NULL ?
Certaines colonnes ne peuvent pas avoir une valeur significative dans chaque ligne. DB2 utilise un indicateur de valeur spécial, la valeur nulle, pour représenter une valeur inconnue ou manquante. Une valeur nulle est une valeur spéciale que DB2 interprète comme signifiant qu’aucune donnée n’est présente.
Une valeur NULL est différente d’une valeur nulle ou d’un champ contenant des espaces. Un champ avec une valeur NULL est un champ qui a été laissé vide lors de la création de l’enregistrement.
Comment les valeurs NULL ont-elles été créées ?
Si un champ d’une table est facultatif, il est possible d’insérer un nouvel enregistrement ou de mettre à jour un enregistrement sans ajouter de valeur à ce champ. Ensuite, le champ sera enregistré avec une valeur NULL.
Si vous ne spécifiez rien d’autre, DB2 autorise n’importe quelle colonne à contenir des valeurs NULL. Les utilisateurs peuvent créer des lignes dans le tableau sans fournir de valeur pour la colonne.
Comment empêcher les valeurs NULL ?
L’utilisation de la clause NOT NULL vous permet d’interdire les valeurs NULL dans la colonne. Les clés primaires doivent être définies comme NOT NULL.
Comment tester les valeurs NULL ?
Les opérateurs IS NULL et IS NOT NULL sont utilisés pour tester les valeurs NULL.
Syntaxe : IS NULL
SELECT nom_colonne FROM nom_table WHERE nom_colonne IS NULL;
Syntaxe : IS NOT NULL
SELECT nom_colonne FROM nom_table WHERE nom_colonne IS NOT NULL;
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Product” de la base de données DB2 :
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | Stylo | 7.45 | dix | 74,50 |
Exemple 1:
Le SQL suivant répertorie tous les ID-Produit avec une valeur NULL dans le champ “Categorie”.
SELECT ID-Produit FROM Produit WHERE Categorie IS NULL;
Résultat:
ID-Produit |
---|
7002 |
7006 |
Exemple 2 :
Le SQL suivant répertorie tous les ID-Produit avec une valeur dans le champ “Categorie”.
SELECT ID-Produit
FROM Produit
WHERE Categorie IS NOT NULL;
Résultat:
ID-Produit |
---|
7001 |
7003 |
7004 |
7005 |