SQL ISNULL() est utilisée pour vérifier si une ex­pres­sion a la valeur NULL. Si c’est le cas, la fonction remplace NULL par une valeur de rem­pla­ce­ment du même type de données.

Qu’est-ce que SQL ISNULL() ?

Le Struc­tu­red Query Language (SQL) vous permet de créer des tableaux et de les remplir avec des valeurs. Si vous n’attribuez pas une valeur à un champ de la table, ce dernier reste vide. Il reçoit alors la valeur « NULL », qui indique qu’il n’y a pas de valeur réelle. Supposons main­te­nant que vous sou­hai­tiez faire en sorte qu’une valeur de rem­pla­ce­ment soit prise en compte au lieu de NULL. Pour cela, le langage met à votre dis­po­si­tion dif­fé­rentes fonctions, comme la fonction SQL ISNULL(). Celle-ci vérifie dans un premier temps si une ex­pres­sion est NULL. Si c’est le cas, elle évalue une ex­pres­sion de rem­pla­ce­ment définie. Sinon, la valeur initiale est prise en compte.

Serveurs virtuels (VPS)
VPS éco­no­miques sur serveurs Dell En­ter­prise
  • 1 Gbit/s de bande passante et trafic illimité
  • Dis­po­ni­bi­lité de 99,99 % et cer­ti­fi­ca­tion ISO
  • As­sis­tance 24/7 primée pour sa qualité et con­seil­ler personnel

La syntaxe de la fonction

Le fonc­tion­ne­ment de SQL ISNULL() est assez simple à ap­pré­hen­der :

ISNULL(expression, valeur de remplacement);
sql

La fonction vérifie d’abord si la valeur de l’ex­pres­sion donnée est NULL. Si c’est le cas, la valeur de rem­pla­ce­ment est affichée. Dans le cas contraire, SQL ISNULL() revient à l’ex­pres­sion originale. Il est important de noter que « ex­pres­sion » et « valeur de rem­pla­ce­ment » doivent avoir le même type de données.

Fonc­tion­ne­ment de SQL ISNULL()

SQL ISNULL() est utilisé dans une commande SQL comme SELECT. Dans les exemples suivants, vous verrez d’abord la sortie lorsque la valeur de l’ex­pres­sion est NULL, puis l’autre cas possible. Voici la première option :

SELECT ISNULL(' ', 'Ceci est la valeur de remplacement');
sql

Dans ce cas, la sortie est la suivante :

Ceci est la valeur de remplacement
sql

Dans l’exemple suivant, la fonction est à nouveau appliquée, mais elle constate que l’ex­pres­sion a une valeur et l’affiche donc :

SELECT ISNULL('Ceci est l'expression réelle', 'Ceci est la valeur de remplacement');
sql

Nous obtenons donc cette sortie :

Ceci est l’expression réelle
sql

Exemple pratique

Pour l’exemple suivant, nous allons créer une table simple appelée « Commandes ». Celle-ci contient des colonnes pour le numéro de client, le nom du client ainsi qu’un numéro de commande :

Numéro de client Nom Numéro de commande
1326 Berron 00451
1288 Froissy
1262 Sulis 00318

Si nous voulons ensuite mieux struc­tu­rer notre table, nous pouvons utiliser SQL ISNULL() pour remplacer la valeur NULL par le caractère de rem­pla­ce­ment 00000. Le code cor­res­pon­dant est alors le suivant :

SELECT Numéro de client,
ISNULL(Numéro de commande, '00000'), Numéro de commande
FROM Commandes;
sql

Si nous exécutons ce code, nous obtenons le tableau suivant :

Numéro de client Nom Numéro de commande
1326 Berron 00451
1288 Froissy 00000
1262 Sulis 00318

Com­bi­nai­son avec des fonctions d’agré­ga­tion

SQL ISNULL() fonc­tionne aussi en com­bi­nai­son avec des fonctions d’agré­ga­tion comme SQL AVG(), SQL COUNT() ou SUM(). Vous pouvez découvrir cette in­te­rac­tion dans l’exemple suivant. Pour cela, nous étendons le tableau ci-dessus et ajoutons une colonne pour le montant de la commande en euros. Le tableau se présente main­te­nant comme suit :

Numéro de client Nom Numéro de commande Montant de la commande
1326 Berron 00451 300
1288 Froissy 00000 NULL
1262 Sulis 00318 100

Si nous voulons remplacer la valeur NULL par 100 et ensuite dé­ter­mi­ner la valeur totale de toutes les commandes, nous utilisons la fonction SUM(). Le code est le suivant :

SELECT SUM(ISNULL(Montant de la commande, 100))
FROM Commandes;
sql

Voici la sortie :

500
sql

Le système remplace la valeur NULL par 100 et ajoute donc 300 + 100 + 100.

Al­ter­na­tives à SQL ISNULL()

Il existe d’autres options qui res­semblent à SQL ISNULL() et qui sont classées parmi les fonctions dites NULL. Il s’agit de SQL COALESCE(), SQL IFNULL() et SQL NVL(). De plus, celles-ci vérifient si une valeur est NULL et peuvent ensuite l’échanger avec une valeur de rem­pla­ce­ment.

Conseil

Choi­sis­sez le serveur qui cor­res­pond à vos besoins ! Avec le serveur d’hé­ber­ge­ment SQL de IONOS, vous avez non seulement le choix entre MSSQL, MySQL et MariaDB, mais vous bé­né­fi­ciez également d’un conseil per­son­na­lisé, de solides fonctions de sécurité et de per­for­mances de premier ordre.

Aller au menu principal