Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden Sie für den Zugriff auf Array-Elemente den []
-Operator, wobei 1 das erste Elemente bezeichnet, 2 das zweite Elemente usw., wie im folgenden Beispiel:
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
Diese Abfrage gibt Folgendes zurück:
+------------------------+
| item |
+------------------------+
| {"a1":1,"a2":2,"a3":3} |
+------------------------+
Verwenden Sie für den Zugriff auf die Array-Elemente an einer bestimmten Position (die Indexposition) die Funktion element_at()
und geben Sie den Namen des Array und die Indexposition an:
-
Wenn der Index größer als 0 ist, gibt
element_at()
das angegebene Element zurück und zählt das Array dabei von Anfang bis Ende durch. Die Funktion verhält sich dabei wie der[]
-Operator. -
Wenn der Index kleiner als 0 ist, gibt
element_at()
das angegebene Element zurück und zählt das Array dabei von Ende bis Anfang durch.
In der folgenden Abfrage wird ein Array words
erstellt und das erste Element hello
als first_word
, das zweite Element amazon
(vom Ende des Arrays aus gezählt) als middle_word
und das dritte Element athena
als last_word
ausgewählt.
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
Diese Abfrage gibt Folgendes zurück:
+----------------------------------------+
| first_word | middle_word | last_word |
+----------------------------------------+
| hello | amazon | athena |
+----------------------------------------+