Valeurs SQL NULL

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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7002Disque dur65,00201 300
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7006Stylo7.45dix74,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