Fonction SQL Server ISNULL

Fonction SQL Server ISNULL

Une valeur nul dans SQL Server fait référence à une colonne dont la valeur est manquante ou inconnue. Lorsque vous travaillez avec des bases de données, vous rencontrerez souvent des valeurs nulles, ce qui rend les données difficiles à travailler. Vous pouvez résoudre ce problème en supprimant les valeurs nuls ou en les remplaçant par une valeur spécifique.

Cet article couvrira une fonction intégrée dans SQL Server qui vous permet de remplacer les valeurs nuls par une valeur définie.

Utilisation de base

La fonction SQL Server ISNULL renvoie une valeur spécifiée si une expression est une valeur nulle ou renvoie l'expression autrement.

L'extrait suivant montre la syntaxe de la fonction ISNULL.

isNull (expression, remplace_value);

La fonction prend deux arguments:

  1. Expression - Cela spécifie l'expression à évaluer pour une valeur nul.
  2. Remplacer_value - Cela spécifie la valeur à retourner si l'expression du premier argument est évaluée comme nul.

La fonction convertit le type de données du Replace_value en le type de données de l'expression s'ils sont de types différents. Par conséquent, assurez-vous que le type de Replace_value peut être converti au type d'expression.

Exemples SQL Server ISNull ()

Regardons quelques exemples d'utilisation de la fonction isnull.

Exemple 1:

L'exemple ci-dessous utilise la fonction isNull () pour renvoyer un argument si l'expression fournie est nul.

SELECT ISNULL (null, «pas null»);

La requête ci-dessus doit renvoyer la chaîne «non nul» car le premier argument est une valeur nulle.

Exemple 2:

Comme mentionné précédemment, la fonction ISNULL renvoie la valeur de remplacement si l'expression est nul. Cependant, si ce n'est pas nul, la fonction renvoie la valeur de l'expression.

Considérez l'exemple ci-dessous:

Sélectionner IsNull (100, 200);

La requête doit renvoyer la valeur de l'expression, dans ce cas, 100, car elle n'évalue pas à une valeur nulle.

Exemple 3:

Vous pouvez également utiliser la fonction ISNULL avec des variables. Considérez l'exemple d'instruction SQL ci-dessous:

Declare @Expression Varchar (50);
Declare @Replacement varchar (25);
Set @Expression = null;
Set @Replacement = 'String';
SELECT ISNULL (@Expression, @Replacement);

Dans cet exemple, le code ci-dessus doit renvoyer la valeur stockée par la variable @Replacement.

Exemple 4:

Nous pouvons également utiliser la fonction ISNULL pour remplacer les valeurs nulles dans un tableau. Cela peut être utile lorsque vous devez effectuer des mises à jour d'un tableau sans rendre les modifications permanentes dans la base de données.

Par exemple, considérez le tableau des clients de Samps Salesdb. Il contient des valeurs nulles dans la colonne MiddleInitial.

Sélectionnez le top 10 * auprès des clients;

Nous pouvons remplacer les valeurs nulles par N / A en utilisant la fonction ISNULL, comme indiqué dans l'exemple de code ci-dessous:

Sélectionnez Top 10 FirstName, ISNULL (MiddleInitial, «N / A») As Initial, LastName des clients;

La requête doit renvoyer les enregistrements où la valeur de la colonne MiddleInitial est remplacée par la chaîne «n \ a».

Un exemple de sortie est comme indiqué:

Exemple 5:

La fonction ISNULL est en cours lorsque vous devez effectuer des opérations telles qu'une moyenne pour un ensemble de valeurs.

Par exemple, nous pouvons utiliser la fonction ISNULL pour remplacer les valeurs nulles par 0 et effectuer une moyenne.

Considérez l'exemple ci-dessous:

Sélectionnez AVG (ISNULL (Price, 0)) comme moyen_price à partir de produits;

L'exemple ci-dessus doit renvoyer la moyenne de toutes les valeurs de la colonne de prix de la base de données. La fonction doit remplacer toutes les valeurs nulles dans la colonne par un 0, vous permettant d'effectuer des calculs presque précis.

prix moyen
---------------------
548.3333

ISNULL VS. Est nul

Dans SQL Server, il existe une fonction appelée est nul. Contrairement à la fonction isNull (), il détermine si une expression est nul. Cela signifie qu'il renvoie une valeur booléenne au lieu d'une expression.

L'exemple ci-dessous montre l'utilisation de l'instruction NULL dans SQL Server.

Sélectionnez le top 10 * des clients où MiddleInitial est nul;

Puisque l'instruction IS NULL renvoie une valeur booléenne, le serveur SQL l'utilise pour récupérer toutes les lignes où la condition est vraie.

Un exemple de résultat est comme:

Conclusion

Dans ce guide, vous avez compris comment travailler avec la fonction SQL Server isNull () pour évaluer et remplacer une expression nul.