La fonction SQL NVL : comment remplacer les valeurs NULL ?

SQL NVL signifie « Null Value » (valeur Null) et sert à remplacer les valeurs NULL dans les enregistrements et les bases de données par des valeurs plus significatives. Cela permet de rationaliser les bases de données, d’améliorer la lisibilité des analyses et des rapports, ainsi que d’optimiser les performances des requêtes de recherche.

Définition de la fonction SQL NVL

Les administrateurs qui travaillent régulièrement avec des bases de données et qui ont besoin de jeux de données complets pour les analyses connaissent le problème des valeurs NULL. Les données manquantes et les lacunes peuvent entraîner des résultats faussés, des rapports inexploitables ainsi que des imprécisions. La solution à ces problèmes est SQL NVL. Cette fonction pratique, « Null-Value Logic », vous aide à remplacer les colonnes et les champs vides par des valeurs ou des chaînes de caractères définies par l’utilisateur et plus significatives. De cette manière, vos enregistrements sont plus exploitables et de meilleure qualité, améliorant ainsi la performance de vos bases de données.

Fonctionnement de SQL NVL

Le fonctionnement de NVL est simple : vous définissez avec SQL NVL la valeur avec laquelle vous souhaitez remplacer les valeurs NULL dans vos résultats cibles. La fonction vérifie si les enregistrements sélectionnés contiennent des valeurs vraies ou fausses et remplace automatiquement les valeurs NULL trouvées par les informations souhaitées. Les valeurs NULL sont généralement des données absentes des lignes et des colonnes. Elles ne doivent donc pas être confondues avec une valeur « 0 » en tant que valeur numérique ou avec des espaces.

Attention : la fonction SQL NVL est utilisée principalement dans les bases de données ORACLE. Dans MySQL ou dans SQL Server, la fonction NVL a été remplacée par la fonction ISNULL. Si vous souhaitez remplacer des valeurs NULL dans des bases de données, utilisez plutôt la fonction ISNULL dans SQL Server et MS ACCESS. Dans MySQL, vous utilisez à nouveau la fonction IFNULL ou COALESCE. Le fonctionnement reste toutefois identique.

Conseil

Apprenez les principales bases et possibilités d’application du langage de programmation et de base de données très répandu SQL. Notre introduction à SQL avec des exemples vous aidera à vous familiariser avec le langage informatique.

Différence entre NVL, ISNULL et IFNULL

Selon le type de base de données, la confusion entre NVL, ISNULL et IFNULL peut vite arriver. Ces trois fonctions sont très similaires, mais ne sont pas disponibles dans toutes les bases de données et systèmes de gestion de bases de données. Notre aperçu vous aidera à choisir la bonne fonction si vous souhaitez remplacer des valeurs NULL.

Syntaxe et paramètres expliqués

Les fonctions SQL NVL, ISNULL et IFNULL requièrent chacune deux paramètres, que nous appelons ici « valeur1 » et « valeur2 » :

  • Valeur1 : définit l’enregistrement ou la colonne dans laquelle vous voulez trouver et remplacer les valeurs NULL.
  • Valeur2 : représente la valeur par laquelle vous souhaitez remplacer les valeurs NULL dans vos résultats cibles. Vous pouvez saisir ici des indications plus utiles telles que « Non renseigné », « 0 » ou « Inconnu » afin d’éliminer les inconnues et les espaces vides.

Vous trouverez ci-dessous la syntaxe pour chacune des trois fonctions.

NVL :

NVL(valeur1, valeur2)
sql

ISNULL :

ISNULL(valeur1, valeur2)
sql

IFNULL :

IFNULL(valeur1, valeur2)
sql

Ces fonctions sont généralement utilisées en combinaison avec SQL SELECT et FROM, qui permettent de définir les enregistrements à vérifier.

Différences entre SQL NVL, ISNULL et IFNULL

Voici comment se distinguent ces fonctions, bien que très similaires, pour le traitement des valeurs NULL :

Fonction SQL Traitement des valeurs NULL Compatibilité
SQL NVL Remplace les valeurs NULL trouvées par une valeur souhaitée Oracle, Db2
SQL ISNULL Remplace des valeurs NULL ou des chaînes vides par une valeur souhaitée SQL Server, MySQL, MS ACCESS
SQL IFNULL Remplace les valeurs NULL par la valeur souhaitée et n’interprète pas les espaces comme des valeurs NULL MySQL, Google BigQuery

Applications de SQL NVL

Le remplacement de valeurs NULL se prête aux cas d’application les plus divers. En voici quelques-uns :

  • Remplacer des données clients ou des adresses de livraison manquantes par des valeurs lisibles telles que « Non renseigné ».
  • Remplacer des soldes de compte ou des transactions inconnues par la valeur numérique 0.
  • Remplacer les valeurs vides relatives aux données des patients, aux données financières ou aux données de production par des valeurs standard ou moyennes.
  • Remplacer les évaluations manquantes ou les feedbacks inexistants par « Pas de données ».
  • Remplacer les images ou informations manquantes par « Image non disponible » ou « Informations non disponibles ».
Conseil

Vous souhaitez une gestion efficace des données avec des performances fiables, une capacité évolutive et une sécurité contre les pannes ? Alors, utilisez l’hébergement SQL de IONOS avec des offres de serveur et d’hébergement individuelles et comptez sur la protection des données aux normes européennes.

Serveurs virtuels (VPS)
Faites le choix de la performance
  • Virtualisation complète avec accès root
  • Trafic illimité et jusqu'à 1 Gbit/s de bande passante
  • Stockage SSD NVMe rapide et édition Plesk Web Host

Exemples pratiques SQL NVL

Pour illustrer l’utilisation de NVL, ISNULL et IFNULL, vous trouverez ci-dessous un exemple pratique à l’aide d’une table de clients avec des colonnes d’adresse, d’âge et d’ID client. Nous souhaitons ici remplacer les éventuelles valeurs NULL sous « Adresse » par la valeur « Aucune donnée ».

Exemple pour SQL NVL

SELECT Adresse, Âge, ID client, NVL(Adresse, 'Aucune donnée')
FROM clients;
sql

Exemple de SQL ISNULL

SELECT Adresse, Âge, ID client, ISNULL(Adresse, 'Aucune donnée')
FROM clients;
sql

Exemple de SQL IFNULL

SELECT Adresse, Âge, ID client, IFNULL(Adresse, 'Aucune donnée')
FROM clients;
sql

Alternatives à SQL NVL

Les fonctions NVL, ISNULL et IFNULL sont presque identiques. Il faut cependant veiller à ce que la fonction en question soit disponible dans votre base de données. Une autre alternative presque identique parmi les commandes SQL ,opérateurs SQL et les fonctions est SQL COALESCE. COALESCE est disponible dans presque toutes les applications de base de données et permet d’échanger des valeurs NULL trouvées avec une valeur de remplacement.

La syntaxe est également identique :

COALESCE(Valeur1, Valeur2)
sql
Cet article vous a-t-il été utile ?
Page top