Filtern von Arrays mit der .-Notation
Wählen Sie im folgenden Beispiel das Feld accountId aus der Spalte userIdentity einer AWS CloudTrail-Protokolltabelle mit der Punkt-.-Notation aus. Weitere Informationen finden Sie unter Abfragen von AWS CloudTrail-Protokollen.
SELECT CAST(useridentity.accountid AS bigint) as newid FROM cloudtrail_logs LIMIT 2;
Diese Abfrage gibt Folgendes zurück:
+--------------+
| newid |
+--------------+
| 112233445566 |
+--------------+
| 998877665544 |
+--------------+Um ein Array mit Werten abzufragen, senden Sie diese Abfrage:
WITH dataset AS ( SELECT ARRAY[ CAST(ROW('Bob', 38) AS ROW(name VARCHAR, age INTEGER)), CAST(ROW('Alice', 35) AS ROW(name VARCHAR, age INTEGER)), CAST(ROW('Jane', 27) AS ROW(name VARCHAR, age INTEGER)) ] AS users ) SELECT * FROM dataset
Sie erhalten das folgende Ergebnis:
+-----------------------------------------------------------------+
| users |
+-----------------------------------------------------------------+
| [{NAME=Bob, AGE=38}, {NAME=Alice, AGE=35}, {NAME=Jane, AGE=27}] |
+-----------------------------------------------------------------+