Accesso agli elementi della matrice - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Accesso agli elementi della matrice

Per accedere agli elementi della matrice, utilizza l'operatore [], dove 1 specifica il primo elemento, 2 specifica il secondo e così via, come in questo esempio:

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

Questa query restituisce:

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

Per accedere agli elementi di una matrice in una determinata posizione (nota come posizione indice), utilizza la funzione element_at() e specifica il nome della matrice e la posizione indice:

  • Se l'indice è maggiore di 0, element_at() restituisce l'elemento specificato, contando dall'inizio alla fine della matrice. Si comporta come l'operatore [].

  • Se l'indice è minore di 0, element_at() restituisce l'elemento, contando dalla fine all'inizio della matrice.

La seguente query crea una matrice words e seleziona il primo elemento hello come first_word, il secondo elemento amazon (contando dalla fine della matrice) come middle_word e il terzo elemento athena come 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

Questa query restituisce:

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