篩選含有巢狀值的陣列
大型陣列通常包含巢狀結構,您必須能夠篩選或搜尋其中的值。
若要為包含巢狀 BOOLEAN 值的值陣列定義資料集,請發出此查詢:
WITH dataset AS ( SELECT CAST( ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ) AS sites ) SELECT * FROM dataset
它會傳回此結果:
+----------------------------------------------------------+
| sites |
+----------------------------------------------------------+
| {HOSTNAME=aws.amazon.com, FLAGGEDACTIVITY={ISNEW=true}} |
+----------------------------------------------------------+接著,若要篩選並存取該元素的 BOOLEAN 值,請繼續使用點 . 標記法。
WITH dataset AS ( SELECT CAST( ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ) AS sites ) SELECT sites.hostname, sites.flaggedactivity.isnew FROM dataset
此查詢會選取巢狀欄位,並傳回此結果:
+------------------------+
| hostname | isnew |
+------------------------+
| aws.amazon.com | true |
+------------------------+