ISNULL (Transact-SQL)
S’applique à : point de terminaison d’analytique SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL Analytics dans Microsoft Fabric Warehouse dans Microsoft Fabric
Remplace NULL par la valeur de remplacement spécifiée.
Conventions de la syntaxe Transact-SQL
Syntaxe
ISNULL ( check_expression , replacement_value )
Remarque
Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.
Arguments
check_expression
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 a la valeur NULL. replacement_value doit être d’un type pouvant être implicitement converti vers le type de check_expression.
Types de retour
Renvoie le même type que check_expression. Si une valeur littérale NULL est fournie en tant que check_expression, renvoie le type de données de replacement_value. Si une valeur littérale NULL est fournie en tant que check_expression et qu’aucun argument replacement_value n’est fourni, renvoie un type int.
Notes
La valeur de check_expression est renvoyée si elle n’est pas NULL ; sinon, l’argument replacement_value est renvoyé après avoir été implicitement converti vers le type de check_expression, si les types sont différents. replacement_value peut être tronqué si replacement_value dépasse check_expression.
Notes
Utilisez COALESCE (Transact-SQL) pour retourner la première valeur non NULL.
Exemples
R. 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 AdventureWorks2022;
GO
SELECT AVG(ISNULL(Weight, 50))
FROM Production.Product;
GO
Voici le jeu de résultats obtenu.
--------------------------
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 AdventureWorks2022
. 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 AdventureWorks2022;
GO
SELECT Description, DiscountPct, MinQty, ISNULL(MaxQty, 0.00) AS 'Max Quantity'
FROM Sales.SpecialOffer;
GO
Voici le jeu de résultats obtenu.
Description | DiscountPct | MinQty | Quantité maximale |
---|---|---|---|
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)
C. Test de valeur NULL dans une clause WHERE
N'utilisez pas ISNULL pour rechercher des valeurs NULL. Utilisez IS NULL à la place. L'exemple suivant recherche tous les produits qui comportent NULL
dans la colonne weight. Notez l'espace entre IS
et NULL
.
USE AdventureWorks2022;
GO
SELECT Name, Weight
FROM Production.Product
WHERE Weight IS NULL;
GO
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
D. Utilisation de ISNULL avec AVG
L’exemple suivant recherche la moyenne du poids de tous les produits dans un exemple de table. La valeur 50
se substitue à toutes les entrées NULL de la colonne Weight
de la table Product
.
-- Uses AdventureWorks
SELECT AVG(ISNULL(Weight, 50))
FROM dbo.DimProduct;
Voici le jeu de résultats obtenu.
--------------------------
52.88
E. Utilisation de ISNULL
L’exemple suivant utilise ISNULL pour tester les valeurs NULL dans la colonne MinPaymentAmount
et afficher la valeur 0.00
pour les lignes.
-- Uses AdventureWorks
SELECT ResellerName,
ISNULL(MinPaymentAmount,0) AS MinimumPayment
FROM dbo.DimReseller
ORDER BY ResellerName;
Voici un jeu de résultats partiel.
ResellerName | MinimumPayment |
---|---|
A Bicycle Association | 0,0000 |
A Bike Store | 0,0000 |
A Cycle Shop | 0,0000 |
A Great Bicycle Company | 0,0000 |
A Typical Bike Shop | 200,0000 |
Acceptable Sales & Service | 0,0000 |
F. Utilisation de la fonction IS NULL pour tester les valeurs NULL dans une clause WHERE
L’exemple suivant recherche tous les produits qui comportent NULL
dans la colonne Weight
. Notez l'espace entre IS
et NULL
.
-- Uses AdventureWorks
SELECT EnglishProductName, Weight
FROM dbo.DimProduct
WHERE Weight IS NULL;
Voir aussi
Expressions (Transact-SQL)
IS NULL (Transact-SQL)
Fonctions système (Transact-SQL)
WHERE (Transact-SQL)
COALESCE (Transact-SQL)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour