Manuel du didac...SE CONNECTER
Manuel du didacticiel de démarrage SQL
auteur:php.cn  temps de mise à jour:2022-04-12 14:15:40

Fonction SQL NULL



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

Veuillez consulter le tableau "Produits" ci-dessous :

P_IdProductNameUnitPriceUnitsInStockUnitsOnOrder
1Jarlsberg10.451615
2Mascarpone32.5623
3Gorgonzola15.67920

Si "UnitsOnOrder" est facultatif et peut contenir des valeurs NULL.

Nous utilisons l'instruction SELECT suivante :

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
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

SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products

Oracle

Oracle n'a pas la fonction ISNULL(). Cependant, nous pouvons obtenir le même résultat en utilisant la fonction NVL() :

SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
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 :

SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products

Ou nous pouvons utiliser la fonction COALESCE() comme indiqué ci-dessous :

SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products

Site Web PHP chinois