La fonction Concat dans AWS Redshift est utilisée pour concaténer (rejoindre) deux chaînes ou plus et renvoie la chaîne résultante. Le type de données de la variable résultante est le même que celui des variables d'entrée à la fonction Concat. La fonction concat ne peut pas être applicable sur une seule chaîne. Il peut être applicable sur deux et plus de deux chaînes. Dans le cas où nous voulons appliquer la fonction Concat sur plus de deux chaînes, la fonction Concat imbriquée est utilisée. La fonction concat est équivalente à l'opérateur de concaténation (||) utilisé entre deux chaînes ou expressions.
Syntaxe de la fonction Concat
La fonction Syntaxe pour Concat est donnée dans les éléments suivants:
1 | Concat (chaîne 1, chaîne 2) |
Où les deux arguments «String 1» et «String 2» peut être de longueur fixe ou de chaînes de longueur variable.
Si les chaînes d'entrée sont de différents types de données, Amazon Redshift essaie de taper inconditionnellement l'une des chaînes. Si les valeurs ne peuvent pas être cassées, une erreur est renvoyée du décalage rouge Amazon.
Exemples dans l'utilisation de la fonction Concat
Prenons quelques exemples pour bien comprendre le fonctionnement de la fonction Concat. Cette section contient plusieurs exemples pour mieux comprendre la fonction Concat.
Concaténation de cordes simple
Dans cet exemple, nous concaténerons les deux cordes - «AWS» et «Redshift». Utilisez la requête Redshift suivante pour concaténer ces cordes:
1 | sélectionnez Concat («AWS», «Redshift»); |
La sortie de cette requête est la suivante:
1 2 3 | AWS Redshift |
Le même résultat peut également être généré en utilisant l'opérateur de concaténation (||). Utilisez la requête suivante pour concaténer les chaînes à l'aide de l'opérateur de concaténation dans le cluster Redshift:
1 | Sélectionnez 'AWS' || ' Redshift '; |
La sortie de cette requête est la suivante:
1 2 3 | AWS Redshift |
Maintenant, essayons de concaténer les cordes, «21 mai» et «2022». La redshift redshift suivante concaténe ces chaînes en utilisant la fonction Concat:
1 | SELECT CONCAT («21e mai», », 2022»); |
Il génère la sortie suivante. N'oubliez pas que le type de données de cette requête est la chaîne car les deux paramètres d'entrée sont des chaînes:
1 2 3 | 21 mai 2022 |
Essayez le même exemple, mais cette fois en utilisant un opérateur de concaténation (||). Ce qui suit est la requête pour concaténer ces cordes:
1 | Sélectionnez '21st May' || ' , 2022 '; |
Cette requête se traduit par la sortie suivante:
1 2 3 | 21 mai 2022 |
Concaténation imbriquée
Si vous souhaitez concaténer plus de deux chaînes, la fonction Concat imbriquée est utilisée. De la même manière, l'opérateur de concaténation (||) peut également être utilisé pour concaténer deux ou plus de deux cordes dans le cluster Redshift. Dans cette section, nous utiliserons à la fois l'opérateur de concaténation (||) et la fonction Concat pour implémenter la concaténation imbriquée.
Dans l'exemple suivant, nous essaierons de concaténer plus de deux chaînes pour mieux comprendre la fonction Concat. La première chaîne est un jour, je.e. "Samedi". La deuxième chaîne est une date et un mois, je.e. «21 mai». Et la troisième chaîne est un an, je.e. «2022».
La requête suivante est utilisée pour mettre en œuvre la concaténation imbriquée sur ces chaînes:
1 | SELECT CONCAT («SAMEDI», CONCAT («21 mai», «2022»)); |
Cette requête génère la sortie suivante:
1 2 3 | Samedi 21 mai 2022 |
Pour concaténer plusieurs chaînes, nous utilisons l'opérateur de concaténation (||) au lieu de la fonction Concat dans le cluster Redshift. L'opérateur de concaténation (||) prend les chaînes des deux côtés et les concaténe pour générer la sortie.
La requête suivante concaténe plusieurs chaînes à l'aide de l'opérateur de concaténation (||):
1 | Sélectionnez «samedi» || «21 mai» || «2022»; |
La sortie de cette requête est la suivante:
1 2 3 | Samedi 21 mai 2022 |
Gestion des valeurs nulles dans le redshift
Dans le cas, si nous transmettons une ou plusieurs valeurs nulles à la fonction Concat, le résultat sera vide. Afin de vérifier la valeur vide, nous exécuterons un exemple de requête sur le cluster Redshift.
Dans la requête suivante, un paramètre de la fonction Concat est nul:
1 | SELECT CONCAT («AWS Redshift», null); |
Lorsqu'il est exécuté, cette requête générera une sortie vide.
Maintenant, nous allons essayer le même exemple en utilisant un opérateur de concaténation (||) au lieu de la fonction Concat:
1 | Sélectionnez 'AWS Redshift' || null; |
La sortie de cette requête sera également vide.
Pour résoudre la valeur nulle dans les données, NVL La commande est utilisée. NVL La commande est responsable de la gestion des valeurs nulles dans les données.
Maintenant, nous prenons un exemple dans lequel nous utilisons le NVL Pour gérer le NUL paramètre. Pour cela, nous utilisons la fonction de gestion nul, je.e. NVL, Pour gérer les valeurs nulles.
La requête suivante peut être utilisée pour concaténer la chaîne et la NUL paramètre géré par le NVL fonction:
1 | SELECT CONCAT ('AWS Redshift', NVL (NULL, ")); |
Il génère la sortie suivante, en prenant le NUL Paramètre comme une chaîne vide:
1 2 3 | AWS Redshift |
Essayez le même exemple, mais cette fois en utilisant un opérateur de concaténation:
1 | Sélectionnez 'AWS Redshift' || Nvl (null, "); |
Ce qui suit est la sortie de cette requête:
1 2 3 | AWS Redshift |
Application de la fonction Concat sur la table de redshift
Dans cette section, nous appliquerons la fonction Concat dans le tableau. Nous utiliserons une base de données définie par AWS pour appliquer la fonction Concat dessus.
Nous appliquerons la fonction Concat sur le lieu table fournie par l'Amazon Redshift. Nous concaterons à la fois le Colonnes Venuename et Venuecity où lestinés sont supérieurs à 75000.
La requête suivante concaténe les données de Venuename et Venuecity où les lieux sont supérieurs à 75000:
1 2 3 4 5 | Sélectionnez Concat (Venuename, Venuecity) |
La sortie de cette requête est la suivante:
1 2 3 4 5 6 7 8 9 | FedExfieldlandover |
Maintenant, essayez cet exemple en utilisant un opérateur de concaténation. Mais, nous concatenons le Venuecity et Veuestate Colonnes cette fois. De plus, nous changeons la condition de Venues à 73500:
1 2 3 4 5 6 7 | Sélectionnez Venuecity || VenueState |
Il génère le résultat suivant:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 | Jacksonvillefl |
Maintenant, nous appliquons le concept de imbriqué Concat fonction dans le lieu tableau. La requête concaténe le Venuename et Venuecity Valeurs du tableau. Ajoutez également les virgules et les espaces à la chaîne résultante:
1 2 3 4 5 6 7 | Sélectionnez Concat (Concat (Venuename, ','), Venuecity) |
La sortie de cette requête est la suivante:
1 2 3 4 5 6 7 8 9 dix 11 | Stade Dolphin, jardins de Miami |
Dans cet exemple suivant, nous concaténerons la colonne qui contient le null pour bien comprendre le concept de gestion du NULL en utilisant la NVL fonction:
1 2 3 4 5 6 7 | Sélectionnez Concat (Venuename, Concat («Seats», NVL (Venueats, 0)) |
Cette requête génère le résultat suivant lors de l'exécution:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 | Ballys Hotel sièges 0 |
Conclusion
Dans cet article, nous avons discuté de la façon d'utiliser la fonction Concat à l'aide de plusieurs exemples. Nous avons appliqué le concept de la fonction Concat, de la fonction de concat imbriquée et de l'opérateur de concaténation. Nous avons étudié comment gérer les valeurs nulles dans la fonction Concat en utilisant la fonction NVL. La fonction AWS Redshift Concat offre le privilège complet de concaténer les deux chaînes ou plus dans votre base de données.