Accès à des éléments de tableau - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accès à des éléments de tableau

Pour accéder à des éléments de tableau, utilisez l'opérateur [], avec 1 spécifiant le premier élément, 2 le deuxième élément, et ainsi de suite, comme dans cet exemple :

WITH dataset AS ( SELECT ARRAY[CAST(MAP(ARRAY['a1', 'a2', 'a3'], ARRAY[1, 2, 3]) AS JSON)] || ARRAY[CAST(MAP(ARRAY['b1', 'b2', 'b3'], ARRAY[4, 5, 6]) AS JSON)] AS items ) SELECT items[1] AS item FROM dataset

Cette requête renvoie :

+------------------------+ | item | +------------------------+ | {"a1":1,"a2":2,"a3":3} | +------------------------+

Pour accéder aux éléments d'un tableau à une position donnée (appelée position d'index), utilisez la fonction element_at(), puis spécifiez le nom du tableau et la position d'index :

  • Si l'index est supérieur à 0, element_at() renvoie l'élément que vous spécifiez, en comptant du début à la fin du tableau. La fonction se comporte comme l'opérateur [].

  • Si l'index est inférieur à 0, element_at() renvoie l'élément que vous spécifiez, en comptant de la fin au début du tableau.

La requête suivante crée un tableau words, puis sélectionne dans celui-ci le premier élément hello en tant que first_word, le deuxième élément amazon (en partant de la fin du tableau) en tant que middle_word et le troisième élément athena en tant que last_word.

WITH dataset AS ( SELECT ARRAY ['hello', 'amazon', 'athena'] AS words ) SELECT element_at(words, 1) AS first_word, element_at(words, -2) AS middle_word, element_at(words, cardinality(words)) AS last_word FROM dataset

Cette requête renvoie :

+----------------------------------------+ | first_word | middle_word | last_word | +----------------------------------------+ | hello | amazon | athena | +----------------------------------------+