Fonction de fusion

Fonction de fusion
La fonction de coalesce Redshift renvoie la première expression non nulle d'une liste. La fonction coalesce commence à lire une liste, et lorsque la première valeur non nulle est trouvée, la fonction ne lira pas le reste et renvoie la première valeur non nulle. Si toutes les valeurs de la liste sont nuls, la fonction de coalesce renvoie la valeur nul. La fonction coalesce est également appelée fonction de manutention nul NVL. Il est utilisé pour gérer les valeurs nulles dans la liste.

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
  • En utilisant la fonction de coalesce sur une seule valeur
  • En utilisant la fonction NVL
  • Utilisation de la fonction coalesce avec des tables

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:

56
(1 ligne)

La 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 Cola
(1 ligne)

Ainsi, 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:

56
(1 ligne)

La 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.

100
(1 ligne)

Cet 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);
Insérer dans AWS_REDSHIFT_COALESCE VALES (NULL, '360');
Insérer dans AWS_REDSHIFT_COALESCE VALES ('480', null);
Insérer dans AWS_REDSHIFT_COALESCE VALES (NULL, '720');
Insérer dans AWS_REDSHIFT_COALESCE VALUES (NULL, '1080');

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)
De AWS_RESSHIFT_COALESCE
commande par 1;

Il générera la sortie suivante:

240
360
480
720
1080
(5 rangées)

La 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)
De AWS_RESSHIFT_COALESCE
commande par 1;

Cette requête, une fois exécutée, générera la sortie suivante.

240
480
(2 rangées)

Dans 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)
De AWS_RESSHIFT_COALESCE
commande par 1;

Cette requête générera le résultat suivant lors de l'exécution:

360
720
1080
(3 rangées)

Dans 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.