SQL Server coalesce

SQL Server coalesce

De temps en temps, nous rencontrons une situation où nous devons gérer les valeurs nulles dans une base de données. Ce tutoriel examinera une fonction SQL Server importante qui vous permet de comparer les valeurs et de renvoyer la première valeur non nulle dans l'ensemble.

Qu'est-ce qu'une valeur nulle?

Nous pouvons définir une valeur nulle comme une valeur manquante ou non. Dans SQL Server, une valeur nulle fait référence à une colonne dont la valeur est inconnue ou manquante. Par conséquent, une chaîne zéro ou vide n'est pas une valeur nulle.

Fonction de fusion SQL Server

La fonction coalesce () dans SQL Server est utilisée pour évaluer séquentiellement un ensemble de valeurs et renvoyer la première valeur non nulle de l'ensemble.

Vous vous demandez peut-être, pourquoi ai-je besoin d'utiliser la fonction coalesce () sur isNull ()?

Parfois, vous pouvez utiliser la fonction coalesce () comme une alternative à iSnull (). L'avantage de la fusion sur Isnull est qu'il accepte sur deux paramètres.

La syntaxe de la fonction coalesce () est comme indiqué:

Fusionner (expression1, expression2,… expressionn)

La fonction prend des expressions scalaires et renvoie la première expression non nul de l'ensemble fourni. Si toutes les expressions évaluent à NULL, la fonction renvoie également une valeur nul, indiquant qu'il n'y a pas de valeur non nul.

Vous pouvez utiliser la fonction de coalesce dans les clauses SQL qui acceptent des expressions telles que Select, Where, Group By, etc.

Propriétés de la fonction SQL Server Coalesce ()

La fonction de coalesce contient les propriétés suivantes:

  1. Les expressions scalaires doivent être de type similaire.
  2. La fonction évalue toujours d'abord un entier.
  3. Cela peut prendre plus qu'une seule expression

Examinons divers exemples d'utilisation de la fonction coalesce () dans SQL Server.

Exemple 1

L'exemple suivant montre comment utiliser la fonction coalesce pour renvoyer la première valeur non nulle de l'ensemble fourni.

SELECT COMESCE (NULL, «NULL», NULL);

Le code ci-dessus doit renvoyer la chaîne 'null'.

Exemple 2

Vous pouvez également utiliser la fonction coalesce sur un ensemble de valeurs entières, comme indiqué dans l'exemple de code ci-dessous:

Sélectionner un coalesce (null, 1, 2, 3, 4, 5, null);

Étant donné que la première valeur non nul dans l'ensemble est 1, la fonction doit retourner 1 comme:

Exemple 3

Que se passe-t-il si nous utilisons la fonction coalesce avec des expressions d'un type différent? Considérez l'exemple de code ci-dessous:

Sélectionner un coalesce (null, «null», 100, null);

Si vous exécutez le code ci-dessus, SQL Server renvoie un message d'erreur comme:

Exemple 4

Un bon exemple de cas d'utilisation de la fonction coalesce est lors de l'exécution de la concaténation des chaînes. Considérez l'exemple de requête ci-dessous:

Utiliser SalesDB;
Sélectionnez FirstName + "+ MiddleInitial + LastName FullName auprès des clients;

Vous remarquez que la requête ci-dessus renvoie les lignes de valeurs nulles comme indiqué:

Pour résoudre ce problème, nous pouvons utiliser la fonction de coalesce comme indiqué dans la requête ci-dessous:

Utiliser SalesDB;
Sélectionnez FirstName + "+ Coalesce (MiddleInitial,") + LastName FullName auprès des clients;

Le code doit éliminer les valeurs nulles comme indiqué dans la sortie ci-dessous:

Exemple 5

Vous pouvez utiliser la fonction coalesce pour remplacer les valeurs nulles par de nouvelles valeurs.

Par exemple, considérez l'exemple de requête ci-dessous:

Utiliser SalesDB;
Sélectionner * parmi les clients
Commande par CustomerID;

Cela renvoie les colonnes de la table des clients. Vous serez des valeurs nulles dans la colonne du milieuInital:

Au lieu d'une valeur nulle, nous pouvons utiliser la fonction de coalesce pour renvoyer la chaîne «vide» là où il manque le MiddleInitial.

Un exemple de requête est comme indiqué:

Utiliser SalesDB;
Sélectionnez CustomerId, FirstName, coalesce (MiddleInitial, 'Missing') comme MiddleInitial, LastName des clients
Commande par CustomerID;

Le code ci-dessus remplace les valeurs nulles par la chaîne «manquante» comme indiqué:

Comparez coalesce () vs case

Si vous avez utilisé l'expression de cas dans SQL Server, vous remarquez que la fonction coalesce () se comporte de la même manière. En effet. C'est moins de code et beaucoup lisible.

Emballer!

Ce guide a couvert les bases de l'utilisation de la fonction SQL Server Coalesce pour obtenir le premier non-null à partir d'un ensemble donné. Nous avons également démontré des exemples de cas d'utilisation de la fonction coalesce.

Merci d'avoir lu et vérifié plus de tutoriels SQL Server.