配列関数 - Amazon Timestream

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

配列関数

Timestream for LiveAnalytics は、次の配列関数をサポートしています。

関数 出力データ型 説明

array_distinct(x)

array

配列 x から重複する値を削除します。

SELECT array_distinct(ARRAY[1,2,2,3])

結果の例: [ 1,2,3 ]

array_intersect(x, y)

array

x と y の交点にある要素の配列を重複なく返します。

SELECT array_intersect(ARRAY[1,2,3], ARRAY[3,4,5])

結果の例: [ 3 ]

array_union(x, y)

array

x と y の和集合内の要素の配列を重複なく返します。

SELECT array_union(ARRAY[1,2,3], ARRAY[3,4,5])

結果の例: [ 1,2,3,4,5 ]

array_except(x, y)

array

要素の配列を x で返しますが、y では返しません。重複はありません。

SELECT array_except(ARRAY[1,2,3], ARRAY[3,4,5])

結果の例: [ 1,2 ]

array_join(x、区切り文字、null_replacement)

varchar

区切り文字とオプションの文字列を使用して、指定された配列の要素を連結し、null を置き換えます。

SELECT array_join(ARRAY[1,2,3], ';', '')

結果の例: 1;2;3

array_max(x)

配列要素と同じ

入力配列の最大値を返します。

SELECT array_max(ARRAY[1,2,3])

結果の例: 3

array_min(x)

配列要素と同じ

入力配列の最小値を返します。

SELECT array_min(ARRAY[1,2,3])

結果の例: 1

array_position(x、 要素)

bigint

配列 x (見つからない場合は 0) 内の要素の最初の出現位置を返します。

SELECT array_position(ARRAY[3,4,5,9], 5)

結果の例: 3

array_remove(x, 要素)

array

配列 x から要素と等しいすべての要素を削除します。

SELECT array_remove(ARRAY[3,4,5,9], 4)

結果の例: [ 3,5,9 ]

array_sort(x)

array

配列 x をソートして返します。x の要素は順序付け可能である必要があります。Null 要素は、返された配列の最後に配置されます。

SELECT array_sort(ARRAY[6,8,2,9,3])

結果の例: [ 2,3,6,8,9 ]

arrays_overlap(x, y)

ブール値

配列 x と y に NULL 以外の要素が共通しているかどうかをテストします。共通の NULL 以外の要素がなく、いずれかの配列に NULL が含まれている場合は、NULL を返します。

SELECT arrays_overlap(ARRAY[6,8,2,9,3], ARRAY[6,8])

結果の例: true

基数 (x)

bigint

配列 x のサイズを返します。

SELECT cardinality(ARRAY[6,8,2,9,3])

結果の例: 5

concat(array1, array2, ..., arrayN)

array

arrays array1、array2、...、arrayN を連結します。

SELECT concat(ARRAY[6,8,2,9,3], ARRAY[11,32], ARRAY[6,8,2,0,14])

結果の例: [ 6,8,2,9,3,11,32,6,8,2,0,14 ]

element_at(array(E)、インデックス)

E

指定されたインデックスの配列の要素を返します。index < 0 の場合、Element_at は最後の要素から最初の要素まで要素にアクセスします。

SELECT element_at(ARRAY[6,8,2,9,3], 1)

結果の例: 6

repeat(要素、カウント)

array

カウント時間に対して要素を繰り返します。

SELECT repeat(1, 3)

結果の例: [ 1,1,1 ]

reverse(x)

array

配列 x の逆順の配列を返します。

SELECT reverse(ARRAY[6,8,2,9,3])

結果の例: [ 3,9,2,8,6 ]

sequence(開始、停止)

array(bigint)

開始から停止まで一連の整数を生成し、開始が停止以下の場合は 1 ずつ増分し、それ以外の場合は -1 ずつ増分します。

SELECT sequence(3, 8)

結果の例: [ 3,4,5,6,7,8 ]

sequence(開始、停止、ステップ)

array(bigint)

開始から停止まで一連の整数を生成し、ステップごとに増分します。

SELECT sequence(3, 15, 2)

結果の例: [ 3,5,7,9,11,13,15 ]

sequence(開始、停止)

array(タイムスタンプ)

開始日から終了日までの一連のタイムスタンプを生成し、1 日ずつ増やします。

SELECT sequence('2023-04-02 19:26:12.941000000', '2023-04-06 19:26:12.941000000', 1d)

結果の例: [ 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(タイムスタンプ)

開始から停止までの一連のタイムスタンプを生成し、ステップごとに増分します。ステップのデータ型は間隔です。

SELECT sequence('2023-04-02 19:26:12.941000000', '2023-04-10 19:26:12.941000000', 2d)

結果の例: [ 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 ]

シャッフル (x)

array

指定された配列 x のランダムな置換を生成します。

SELECT shuffle(ARRAY[6,8,2,9,3])

結果の例: [ 6,3,2,9,8 ]

slice(x、開始、長さ)

array

インデックスの開始から始まる (または開始が負の場合は終了から始まる) 長さの配列 x をサブセットします。

SELECT slice(ARRAY[6,8,2,9,3], 1, 3)

結果の例: [ 6,8,2 ]

zip(array1, array2[, ...])

array(行)

指定された配列を要素ごとに 1 つの行の配列にマージします。引数の長さが不均等である場合、欠損値は NULL で埋められます。

SELECT zip(ARRAY[6,8,2,9,3], ARRAY[15,24])

結果の例: [ ( 6, 15 ),( 8, 24 ),( 2, - ),( 9, - ),( 3, - ) ]