Variable de tableau SQL

Variable de tableau SQL

Cet article apprendra à créer et à utiliser des types de tableaux dans SQL standard. Il est bon de noter que bien que les tableaux fassent partie de SQL standard, des bases de données telles que MySQL ne prennent pas en charge les tableaux nativement.

Qu'est-ce qu'un tableau?

Un tableau fait référence à une collection d'une liste ordonnée d'articles. Les tableaux sont très utiles et puissants. Apprendre à travailler avec un tableau peut aider à améliorer les performances et à fournir des techniques de manipulation de données complexes.

Dans des moteurs de base de données tels que BigQuery et PostgreSQL, un tableau est un type intégré qui peut être utilisé n'importe où dans la base de données.

Cependant, contrairement à PostgreSQL, BigQuery vous empêche de créer des tableaux multidimensionnels.

SQL Créer un tableau

La façon la plus simple de créer un tableau est d'utiliser son format littéral. Un exemple est comme indiqué:

SÉLECTIONNER
[1,
2,
3,
4,
5] comme my_array;

Le code ci-dessus devrait créer un tableau appelé my_array avec les éléments à l'intérieur des crochets.

Un exemple de sortie est comme indiqué:

My_array
"[1,2,3,4,5]"

La deuxième méthode que vous pouvez utiliser pour créer un tableau est la fonction Generate_Array. Cette fonction est uniquement disponible en bigQuery.

Le code ci-dessous montre comment utiliser la fonction Generate_Array pour générer un tableau.

SÉLECTIONNER
Générer_array (1, 5) comme my_array;

Le code ci-dessus génère un tableau d'articles de 1 à 5. La sortie résultante est comme indiqué:

My_array
"[1,2,3,4,5]"

La fonction Generate_Array suit la syntaxe comme indiqué ci-dessous:

Generate_array (start_expression, end_expression [, step_expression])

Vous pouvez utiliser Step_Expression pour définir la taille de pas pour les éléments générés.

D'autres fonctions similaires incluent:

  1. Générer_date_array - générer un tableau de dates
  2. Générer_timestamp_array - génère un tableau d'horodatage.

Vous pouvez consulter la documentation sur les fonctions du tableau pour en savoir plus.

Accéder aux éléments du tableau

BigQuery nous permet d'utiliser la valeur de décalage ou la valeur ordinale pour accéder aux éléments dans un tableau.

Le décalage est une valeur basée sur 0, tandis que l'ordinal est basé sur.

Considérez un exemple de requête ci-dessous:

SÉLECTIONNER
my_array [
COMPENSER
(0)] comme offset_0,
my_array [ordinal (1)] comme ordinal_0
DEPUIS (
SÉLECTIONNER
Générer_array (1, 5) comme my_array);

Dans la requête, nous utilisons la fonction générée_array pour générer un tableau avec des valeurs à partir de 1 à 5.

Nous utilisons ensuite les fonctions décalées et ordinales pour récupérer le premier élément du tableau.

Le code ci-dessus doit retourner:

Offset_0 Ordinal_0
1 1

Vous pouvez choisir n'importe quelle méthode d'accès à tableau que vous souhaitez utiliser. Par exemple, choisissez Offset si vous préférez un index basé sur 0; Sinon, choisissez Ordinal.

Trouver la longueur du tableau

Pour obtenir la longueur d'un tableau, vous pouvez utiliser la fonction Array_Length comme indiqué:

SÉLECTIONNER
Array_length ([1,2,3,4,5]);

Cela devrait renvoyer la longueur du tableau comme:

f0_
5

La longueur du tableau fait référence au nombre d'éléments dans le tableau.

Convertir le tableau en lignes

Pour convertir un tableau en un ensemble de lignes, utilisez la fonction la plus innombrable comme indiqué ci-dessous:

SÉLECTIONNER
*
DEPUIS
Inne plus (générer_array (0, 20, 2)) comme même;

Le code ci-dessus crée un tableau de nombres pair de 0 à 20 et les convertit en lignes en utilisant la fonction la plus intensive.

La sortie résultante est illustrée ci-dessous:

même
0
2
--- sortie tronquée---
18
20

Vous pouvez en savoir plus sur la commande la plus innombrable dans le tutoriel lié.

Convertir le tableau en chaîne

Si vous avez un tableau de chaînes, vous pouvez le convertir en une chaîne à l'aide de la fonction Array_To_String.

L'utilisation de l'exemple est comme indiqué:

SÉLECTIONNER
Array_to_string (['h', 'e', ​​'l', 'l', 'o'], "");

Le code ci-dessus convertit le tableau de chaînes en une seule chaîne. La syntaxe de fonction est:

Array_to_string (array_expression, Delimiter [, null_text])

Conclusion

Cet article a fourni les connaissances fondamentales sur la façon de travailler avec des tableaux en SQL standard en utilisant BigQuery. Il y a plus sur le type de tableau au-delà de la portée de ce tutoriel. Vérifiez les ressources ci-dessous pour explorer plus.

https: // cloud.Google.com / bigQuery / docs / référence / standard-sql / tableaux

https: // cloud.Google.com / bigQuery / docs / référence / standard-sql / array_functions

Merci d'avoir lu, et j'espère que vous l'avez apprécié!!