SQL NULL Fonctions


SQL NULL Fonctions

SQL ISNULL (), NVL (), IFNULL () et COALESCE () Fonctions

Regardez l'exemple suivant table "Produits":
P_IDProductNameUnitPriceUnitsInStockUnitsOnOrder
1Jarlsberg10,451615
2Mascarpone32,5623 
3Gorgonzola15,67920
Supposons que le "UnitsOnOrder" colonne est facultative, et peut contenir des valeurs NULL.
Nous avons l'instruction SELECT suivante:
SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products
Dans l'exemple ci-dessus, si l'un des "UnitsOnOrder« valeurs sont NULL, le résultat est NULL.
ISNULL Microsoft () est utilisée pour spécifier la façon dont nous voulons traiter les valeurs NULL.
Les fonctions du NVL (), IFNULL (), et COALESCE () peut aussi être utilisée pour obtenir le même résultat.
Dans ce cas, nous voulons des valeurs NULL à zéro.
Ci-dessous, si "UnitsOnOrder" est NULL ne nuira pas le calcul, parce que ISNULL () retourne un zéro si la valeur est NULL:
SQL Server / MS Access
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products
Oracle
Oracle n'a pas de fonction ISNULL (). Cependant, nous pouvons utiliser la NVL () pour obtenir le même résultat:
SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
FROM Products
MySQL
MySQL fait avoir une fonction IsNull (). Cependant, il fonctionne un peu différente de Microsoft ISNULL () de fonction.
En MySQL, nous pouvons utiliser la IFNULL () la fonction, comme ceci:
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products
ou nous pouvons utiliser la COALESCE () la fonction, comme ceci:
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products

0 commentaires:

Post a Comment

HELLO VISITORS THANKS FOR YOUR VISIT AND COMMENT