ISNULL (Transact-SQL)

Remplace NULL par la valeur de remplacement spécifiée.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

ISNULL ( check_expression , replacement_value )

Arguments

check_expression

Représente l'expression dans laquelle la valeur NULL est recherchée. check_expression peut être de n'importe quel type.

replacement_value

Expression à renvoyer si check_expression renvoie la valeur NULL. Le type de replacement_value doit pouvoir être implicitement converti en type check_expresssion.

Notes

La valeur de check_expression est renvoyée si elle est différente de NULL. Dans le cas contraire, la valeur de replacement_value est renvoyée dès lors qu'elle a été implicitement convertie en type check_expression, si leurs types étaient différents.

Types renvoyés

Renvoie le même type que check_expression.

Exemples

A. Utilisation de ISNULL avec AVG

L'exemple suivant recherche la moyenne du poids de tous les produits. La valeur 50 se substitue à toutes les entrées NULL de la colonne Weight de la table Product.

USE AdventureWorks;
GO
SELECT AVG(ISNULL(Weight, 50))
FROM Production.Product;
GO

Voici l'ensemble des résultats. 

-------------------------- 
59.79                      

(1 row(s) affected)

B. Utilisation de ISNULL

Dans l'exemple suivant, la description (« Description »), le pourcentage de remise (« DiscountPct »), la quantité minimale (« MinQty ») et la quantité maximale (« Max Quantity ») sont sélectionnés pour toutes les offres spéciales figurant dans AdventureWorks. Si la quantité maximale associée à une offre spéciale déterminée est NULL, MaxQty présente la valeur 0.00 dans l'ensemble de résultats.

USE AdventureWorks;
GO
SELECT Description, DiscountPct, MinQty, ISNULL(MaxQty, 0.00) AS 'Max Quantity'
FROM Sales.SpecialOffer;
GO

Voici l'ensemble des résultats. 

Description       DiscountPct       MinQty      Max Quantity
---------------   -------------     --------    ---------------
No Discount       0.00              0           0
Volume Discount   0.02              11          14
Volume Discount   0.05              15          4
Volume Discount   0.10              25          0
Volume Discount   0.15              41          0
Volume Discount   0.20              61          0
Mountain-100 Cl   0.35              0           0
Sport Helmet Di   0.10              0           0
Road-650 Overst   0.30              0           0
Mountain Tire S   0.50              0           0
Sport Helmet Di   0.15              0           0
LL Road Frame S   0.35              0           0
Touring-3000 Pr   0.15              0           0
Touring-1000 Pr   0.20              0           0
Half-Price Peda   0.50              0           0
Mountain-500 Si   0.40              0           0

(16 row(s) affected)

Voir aussi

Référence

Expressions (Transact-SQL)
IS [NOT] NULL (Transact-SQL)
Fonctions système (Transact-SQL)
WHERE (Transact-SQL)
COALESCE (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005