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.
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)
sqlISNULL :
ISNULL(valeur1, valeur2)
sqlIFNULL :
IFNULL(valeur1, valeur2)
sqlCes 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 ».
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.
- 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;
sqlExemple de SQL ISNULL
SELECT Adresse, Âge, ID client, ISNULL(Adresse, 'Aucune donnée')
FROM clients;
sqlExemple de SQL IFNULL
SELECT Adresse, Âge, ID client, IFNULL(Adresse, 'Aucune donnée')
FROM clients;
sqlAlternatives à 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