Fonction SQL NULL
Fonctions SQL ISNULL(), NVL(), IFNULL() et COALESCE()
Veuillez consulter le tableau "Produits" ci-dessous :
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | Jarlsberg | 10.45 | 16 | 15 |
2 | Mascarpone | 32.56 | 23 | |
3 | Gorgonzola | 15.67 | 9 | 20 |
Si "UnitsOnOrder" est facultatif et peut contenir des valeurs NULL.
Nous utilisons l'instruction SELECT suivante :
FROM Products
Dans l'exemple ci-dessus , si une valeur "UnitsOnOrder" est NULL, alors le résultat est NULL.
La fonction ISNULL() de Microsoft est utilisée pour spécifier comment gérer les valeurs NULL.
Les fonctions NVL(), IFNULL() et COALESCE() peuvent également aboutir au même résultat.
Ici, nous voulons que la valeur NULL soit 0.
Ci-dessous, si "UnitsOnOrder" est NULL, cela n'affectera pas le calcul car ISNULL() renvoie 0 si la valeur est NULL :
SQL Server / MS Access
FROM Products
Oracle
Oracle n'a pas la fonction ISNULL(). Cependant, nous pouvons obtenir le même résultat en utilisant la fonction NVL() :
FROM Products
MySQL
MySQL a également des fonctions similaires à ISNULL(). Cependant, cela fonctionne un peu différemment de la fonction ISNULL() de Microsoft.
Dans MySQL, nous pouvons utiliser la fonction IFNULL() comme suit :
FROM Products
Ou nous pouvons utiliser la fonction COALESCE() comme indiqué ci-dessous :
FROM Products