Syntaxe de la fonction coalesce
La syntaxe de la fonction coalesce est donnée ci-dessous:
Fusionner (expression 1, expression 2,…, expression n)OU
Nvl (Expression 1, expression 2,…, expression n)Il n'y a pas de limite à la valeur que vous pouvez saisir. La fonction coalesce fonctionne comme une condition IF-Else. Il commencera à chercher de gauche à droite jusqu'à ce qu'il trouve l'expression non nulle. Cela signifie qu'il commencera sa recherche à partir de la première expression. S'il est nul, il passera à la deuxième expression pour vérifier l'expression et ainsi de suite jusqu'à ce qu'elle obtienne l'expression non nulle.
La fonction de coalesce est indépendante du type de données, ce qui signifie que vous pouvez utiliser la fonction coalesce sur chaque expression de type de données. Mais toutes les expressions devraient être du même type. Par exemple, la fonction coalesce ne permet pas l'expression 1 du type de données numériques et de l'expression 2 du type de données de caractère. Ainsi, lors de l'utilisation de la fonction coalesce, assurez-vous que toutes les expressions d'entrée doivent être du même type de données.
Exemples de fonction de fusion
Cette section utilisera différents exemples pour expliquer comment la fonction coalesce ou NVL peut être utilisée dans différents scénarios. Nous utiliserons les exemples suivants pour comprendre la fonction de coalesce:
En utilisant la fonction de coalesce sur plusieurs valeurs
Dans le premier exemple, nous essaierons de comprendre le fonctionnement de la fonction de fusion en l'appliquant à plusieurs valeurs.
Utilisez la requête suivante pour implémenter la fonction de coalesce:
Sélectionnez les coalesce (null, null, null, 56, null, 100)La requête précédente générera la sortie suivante:
56La fonction coalesce démarre sa recherche en vérifiant la première expression, qui est nul. Il passe à la deuxième expression, qui est également nul. Il passe à la troisième expression, qui a également une valeur nulle. Ensuite, il passera à la quatrième expression, qui n'est pas une valeur nulle, et renverra la quatrième expression, je.e., 56.
Dans cet exemple, nous appliquerons la fonction de coalesce sur un type de données VARCHAR pour montrer que la fonction coalesce est indépendante des types de données. Utilisez la requête suivante pour appliquer la fonction coalesce sur les paramètres de type de données varchar.
Sélectionner les coalesce (null, null, «cocacola», null, «pepsi»);Il générera la sortie suivante:
Coca ColaAinsi, cet exemple prouve que la fonction coalesce est indépendante des types de données des paramètres adoptés. La fonction coalesce commence à rechercher l'expression non nulle, donc Coca Cola est la première expression non nulle. La fonction coalesce renvoie le Coca Cola, et les expressions restantes ne sont pas évaluées.
Utilisation de la fonction coalesce sur une seule valeur
Dans cet exemple, nous utiliserons la fonction coalesce sur une seule expression. Utilisez la requête suivante pour implémenter la fonction coalesce sur une seule expression:
Sélectionner un coalesce (56);Le résultat de la requête précédente sera la suivante:
56La fonction coalesce démarre sa recherche, et la première expression n'est pas nul afin qu'elle renvoie cette expression, je.e., 56.
Maintenant, nous appliquons la fonction coalesce sur une seule expression, et sa valeur est nul.
Sélectionner un coalesce (null);Il renverra une réponse vide car il n'y a qu'une seule expression nul et la fonction de coalesce ne renvoie que l'expression non nulle.
En utilisant la fonction NVL
Dans cet exemple, nous appliquerons la fonction NVL au lieu de la fonction coalesce pour renvoyer la première valeur non nulle.
Utilisez la requête suivante pour appliquer la fonction NVL au lieu de la fonction de coalesce:
Sélectionnez NVL (NULL, NULL, 100, NULL, 1000);Il renverra la réponse suivante.
100Cet exemple montre que NVL fonctionne exactement de la même manière que la fonction coalesce. Bref, nous pouvons dire que NVL est synonyme de la fonction de coalesce.
Utilisation de la fonction coalesce avec des tables
Cette section utilisera plusieurs exemples pour implémenter la fonction coalesce avec des tables. Tout d'abord, nous allons créer une table et y insérer des données. Ensuite, nous utiliserons la fonction coalesce sur ce tableau.
Utilisez la requête suivante pour créer le Aws_redshift_coalesce Tableau dans le cluster Redshift:
Créer une table aws_redshift_coalesce (first_value int, second_value int);Maintenant, insérez des données dans ce tableau, y compris certaines valeurs nulles
Insérer dans AWS_REDSHIFT_COALESCE VALES ('240', null);Après avoir inséré les données, appliquez la fonction de coalesce en utilisant la requête suivante:
Sélectionnez Coalesce (First_Value, Second_Value)Il générera la sortie suivante:
240La fonction coalesce commence à vérifier la première colonne. Dans la première colonne, 240, 480 et 1080 sont les valeurs non nulles. Ainsi, la fonction coalesce renvoie ces valeurs puis vérifie la deuxième colonne où il a trouvé 360 et 720 comme des valeurs non nulles.
Dans l'exemple suivant, nous utiliserons le même tableau pour comprendre le concept de la fonction coalesce sur une seule colonne.
Sélectionnez Coalesce (First_Value)Cette requête, une fois exécutée, générera la sortie suivante.
240Dans le premier_column, Seuls 240 et 480 ne sont pas des valeurs nulles. Ainsi, la fonction coalesce ne renverra que ces deux valeurs.
Si nous appliquons la fonction de coalesce sur la deuxième colonne de la table.
Sélectionnez Coalesce (First_Value)Cette requête générera le résultat suivant lors de l'exécution:
360Dans la deuxième colonne, 360, 720 et 1080 sont les valeurs non nulles. Ainsi, la fonction de coalesce ne renverra que ces trois valeurs.
Conclusion
Dans cet article, nous avons étudié comment utiliser la fonction coalesce pour obtenir la première expression non nulle. La fonction coalesce est très pratique pour trouver la valeur non nulle des données. Si toutes les valeurs de colonne sont nuls, la fonction de coalesce renvoie le résultat vide. Ce doit être la même expression de type de données dans la colonne unique. Lorsque la fonction de coalesce découvre l'expression non nulle, elle arrête les exécutions et les expressions restantes restent sans contrôle.