

如需與 Amazon Timestream for LiveAnalytics 類似的功能，請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間，以進行即時分析。[在這裡](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)進一步了解。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 陣列函數
<a name="array-functions"></a>

LiveAnalytics 的 Timestream 支援下列陣列函數。


| 函式 | 輸出資料類型 | Description | 
| --- | --- | --- | 
|  array\$1distinct(x)  |  陣列  |  從陣列 x 移除重複的值。 <pre>SELECT array_distinct(ARRAY[1,2,2,3])</pre> 範例結果： `[ 1,2,3 ]`  | 
|  array\$1intersect(x， y)  |  陣列  |  傳回 x 和 y 交集的元素陣列，無需重複。 <pre>SELECT array_intersect(ARRAY[1,2,3], ARRAY[3,4,5])</pre> 範例結果： `[ 3 ]`  | 
|  array\$1union(x， y)  |  陣列  |  傳回 x 和 y 聯集的元素陣列，無需重複。 <pre>SELECT array_union(ARRAY[1,2,3], ARRAY[3,4,5])</pre> 範例結果： `[ 1,2,3,4,5 ]`  | 
|  array\$1except(x， y)  |  陣列  |  傳回 x 的元素陣列，但不傳回 y 的元素陣列，不重複。 <pre>SELECT array_except(ARRAY[1,2,3], ARRAY[3,4,5])</pre> 範例結果： `[ 1,2 ]`  | 
|  array\$1join(x、delimiter、null\$1replacement)   |  varchar  |  使用分隔符號和選用字串來串連指定陣列的元素，以取代 null。 <pre>SELECT array_join(ARRAY[1,2,3], ';', '')</pre> 範例結果： `1;2;3`  | 
|  array\$1max(x)  |  與陣列元素相同  |  傳回輸入陣列的最大值。 <pre>SELECT array_max(ARRAY[1,2,3])</pre> 範例結果： `3`  | 
|  array\$1min(x)  |  與陣列元素相同  |  傳回輸入陣列的最小值。 <pre>SELECT array_min(ARRAY[1,2,3])</pre> 範例結果： `1`  | 
|  array\$1position(x， 元素）  |  bigint  |  傳回元素在陣列 x 中第一次出現的位置 （如果找不到，則為 0)。 <pre>SELECT array_position(ARRAY[3,4,5,9], 5)</pre> 範例結果： `3`  | 
|  array\$1remove(x， 元素）  |  陣列  |  從陣列 x 移除所有等於元素的元素。 <pre>SELECT array_remove(ARRAY[3,4,5,9], 4)</pre> 範例結果： `[ 3,5,9 ]`  | 
|  array\$1sort(x)  |  陣列  |  排序並傳回陣列 x。x 的元素必須可排序。Null 元素將放置在傳回陣列的結尾。 <pre>SELECT array_sort(ARRAY[6,8,2,9,3])</pre> 範例結果： `[ 2,3,6,8,9 ]`  | 
|  arrays\$1overlap(x， y)   |  boolean  |  測試陣列 x 和 y 是否有任何共同的非空元素。如果沒有常見的非 Null 元素，但任一陣列都包含 Null，則傳回 Null。 <pre>SELECT arrays_overlap(ARRAY[6,8,2,9,3], ARRAY[6,8])</pre> 範例結果： `true`  | 
|  cardinality(x)  |  bigint  |  傳回陣列 x 的大小。 <pre>SELECT cardinality(ARRAY[6,8,2,9,3])</pre> 範例結果： `5`  | 
|  concat(array1， array2， ...， arrayN)  |  陣列  |  串連陣列 array1、Array2、...、arrayN。 <pre>SELECT concat(ARRAY[6,8,2,9,3], ARRAY[11,32], ARRAY[6,8,2,0,14])</pre> 範例結果： `[ 6,8,2,9,3,11,32,6,8,2,0,14 ]`  | 
|  element\$1at(array(E)，索引）  |  E  |  傳回指定索引的陣列元素。如果索引 < 0， element\$1at 會存取從最後一個到第一個的元素。 <pre>SELECT element_at(ARRAY[6,8,2,9,3], 1)</pre> 範例結果： `6`  | 
|  repeat（元素，計數）   |  陣列  |  針對計數時間重複 元素。 <pre>SELECT repeat(1, 3)</pre> 範例結果： `[ 1,1,1 ]`  | 
|  reverse(x)  |  陣列  |  傳回具有反向陣列 x 順序的陣列。 <pre>SELECT reverse(ARRAY[6,8,2,9,3])</pre> 範例結果： `[ 3,9,2,8,6 ]`  | 
|  sequence（開始、停止）  |  array(bigint)  |  從開始到停止產生整數序列，如果開始小於或等於停止，則遞增 1，否則為 -1。 <pre>SELECT sequence(3, 8)</pre> 範例結果： `[ 3,4,5,6,7,8 ]`  | 
|  sequence（開始、停止、步驟）   |  array(bigint)  |  從開始到停止產生整數序列，逐步遞增。 <pre>SELECT sequence(3, 15, 2)</pre> 範例結果： `[ 3,5,7,9,11,13,15 ]`  | 
|  sequence（開始、停止）   |  array（時間戳記）  |  產生從開始日期到結束日期的一系列時間戳記，以 1 天為單位遞增。 <pre>SELECT sequence('2023-04-02 19:26:12.941000000', '2023-04-06 19:26:12.941000000', 1d)</pre> 範例結果： `[ 2023-04-02 19:26:12.941000000,2023-04-03 19:26:12.941000000,2023-04-04 19:26:12.941000000,2023-04-05 19:26:12.941000000,2023-04-06 19:26:12.941000000 ]`  | 
|  sequence（開始、停止、步驟）   |  array（時間戳記）  |  從開始到停止產生一系列時間戳記，逐步遞增。步驟的資料類型是間隔。 <pre>SELECT sequence('2023-04-02 19:26:12.941000000', '2023-04-10 19:26:12.941000000', 2d)</pre> 範例結果： `[ 2023-04-02 19:26:12.941000000,2023-04-04 19:26:12.941000000,2023-04-06 19:26:12.941000000,2023-04-08 19:26:12.941000000,2023-04-10 19:26:12.941000000 ]`  | 
|  shuffle(x)  |  陣列  |  產生指定陣列 x 的隨機排列。 <pre>SELECT shuffle(ARRAY[6,8,2,9,3])</pre> 範例結果： `[ 6,3,2,9,8 ]`  | 
|  slice(x， start， length)  |  陣列  |  子集合陣列 x 從索引開頭開始 （如果開頭為負值，則從結尾開始），長度為 。 <pre>SELECT slice(ARRAY[6,8,2,9,3], 1, 3)</pre> 範例結果： `[ 6,8,2 ]`  | 
|  zip(array1， array2【， ...】)  |  array(row)  |  將指定陣列依元素合併為單一資料列陣列。如果引數的長度不平均，則缺少的值會填入 NULL。 <pre>SELECT zip(ARRAY[6,8,2,9,3], ARRAY[15,24])</pre> 範例結果： `[ ( 6, 15 ),( 8, 24 ),( 2, - ),( 9, - ),( 3, - ) ]`  | 