翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
配列関数
注記
このSQLコマンドをサポートする AWS データソース統合を確認するには、「」を参照してくださいサポートされている OpenSearch SQLコマンドと関数。
関数 | 説明 |
---|---|
array(expr, ...) | 指定された要素を持つ配列を返します。 |
array_append(配列、要素) | 最初の引数として渡された配列の末尾に 要素を追加します。要素のタイプは、配列の要素のタイプと似ている必要があります。Null 要素も配列に追加されます。ただし、渡された配列の場合、 はNULL出力が です。 NULL |
array_compact(配列) | 配列から null 値を削除します。 |
array_contains(配列、値) | 配列に 値が含まれている場合は true を返します。 |
array_distinct(配列) | 配列から重複する値を削除します。 |
array_except(array1, array2) | array1 では要素の配列を返しますが、array2 では重複しません。 |
array_insert(x、pos、val) | 配列 x のインデックスポインに val を配置します。配列インデックスは 1 から始まります。最大負のインデックスは -1 で、関数は現在の最後の要素の後に新しい要素を挿入します。配列サイズの上のインデックスは配列を追加するか、インデックスが負の場合は配列の前に「null」要素を追加します。 |
array_intersect(array1, array2) | array1 と array2 の交差にある要素の配列を、重複せずに返します。 |
array_join(配列、区切り記号[, nullReplacement]) | 区切り文字とオプションの文字列を使用して、指定された配列の要素を連結し、null を置き換えます。に値が設定されていない場合nullReplacement、null 値はフィルタリングされます。 |
array_max(配列) | 配列内の最大値を返します。NaN は、ダブル/フロートタイプの非 NaN 要素よりも大きくなります。 NULL要素はスキップされます。 |
array_min(配列) | 配列の最小値を返します。NaN は、ダブル/フロートタイプの非 NaN 要素よりも大きくなります。 NULL要素はスキップされます。 |
array_position(配列、要素) | 配列の最初の一致要素の (1 から始まる) インデックスを、長い間返します。一致が見つからない場合は 0 を返します。 |
array_prepend(配列、要素) | 最初の引数として渡された配列の先頭に 要素を追加します。要素のタイプは、配列の要素のタイプと同じである必要があります。Null 要素も配列の前に付加されます。ただし、渡された配列が の場合、NULL出力は です。 NULL |
array_remove(配列、要素) | 配列から要素と等しいすべての要素を削除します。 |
array_repeat(要素、カウント) | 要素カウント時間を含む配列を返します。 |
array_union(array1, array2) | array1 と array2 の和集合内の要素の配列を、重複せずに返します。 |
arrays_overlap(a1, a2) | a1 に少なくとも a2 にも NULL 以外の要素が含まれている場合は true を返します。配列に共通の要素がなく、両方とも空ではなく、どちらかに null 要素が含まれている場合は null が返され、それ以外の場合は false が返されます。 |
arrays_zip(a1、a2、...) | N 番目の構造体に入力配列の N 番目の値がすべて含まれる構造体のマージされた配列を返します。 |
flatten(arrayOfArrays) | 配列の配列を 1 つの配列に変換します。 |
get(配列、インデックス) | 指定された (0 から始まる) インデックスで配列の要素を返します。インデックスが配列の境界外を指している場合、この関数は を返しますNULL。 |
sequence(開始、停止、ステップ) | 要素の配列を最初から最後まで (両端を含めて)、段階的に増分して生成します。返される要素のタイプは、引数式のタイプと同じです。サポートされている型は、byte、short、integer、long、date、timestamp です。開始式と停止式は同じ型に解決する必要があります。start 式と stop 式が「date」型または「timestamp」型に解決される場合、ステップ式は「interval」型または「year-month interval」型または「day-time interval」型に解決する必要があります。それ以外の場合は、start 式と stop 式と同じ型に解決する必要があります。 |
shuffle(配列) | 指定された配列のランダムな置換を返します。 |
slice(x、開始、長さ) | 指定した長さで、インデックスの開始から始まる配列 x をサブセットします (配列インデックスは 1 から開始、開始が負の場合は終了から開始)。 |
sort_array(array[, ascendingOrder]) | 配列要素の自然な順序に従って、入力配列を昇順または降順にソートします。NaN は、二重/浮動小数点型の非 NaN 要素よりも大きくなります。Null 要素は、返された配列の先頭に昇順で配置されるか、返された配列の末尾に降順で配置されます。 |
例
-- array SELECT array(1, 2, 3); +--------------+ |array(1, 2, 3)| +--------------+ | [1, 2, 3]| +--------------+ -- array_append SELECT array_append(array('b', 'd', 'c', 'a'), 'd'); +----------------------------------+ |array_append(array(b, d, c, a), d)| +----------------------------------+ | [b, d, c, a, d]| +----------------------------------+ SELECT array_append(array(1, 2, 3, null), null); +----------------------------------------+ |array_append(array(1, 2, 3, NULL), NULL)| +----------------------------------------+ | [1, 2, 3, NULL, N...| +----------------------------------------+ SELECT array_append(CAST(null as Array<Int>), 2); +---------------------+ |array_append(NULL, 2)| +---------------------+ | NULL| +---------------------+ -- array_compact SELECT array_compact(array(1, 2, 3, null)); +-----------------------------------+ |array_compact(array(1, 2, 3, NULL))| +-----------------------------------+ | [1, 2, 3]| +-----------------------------------+ SELECT array_compact(array("a", "b", "c")); +-----------------------------+ |array_compact(array(a, b, c))| +-----------------------------+ | [a, b, c]| +-----------------------------+ -- array_contains SELECT array_contains(array(1, 2, 3), 2); +---------------------------------+ |array_contains(array(1, 2, 3), 2)| +---------------------------------+ | true| +---------------------------------+ -- array_distinct SELECT array_distinct(array(1, 2, 3, null, 3)); +---------------------------------------+ |array_distinct(array(1, 2, 3, NULL, 3))| +---------------------------------------+ | [1, 2, 3, NULL]| +---------------------------------------+ -- array_except SELECT array_except(array(1, 2, 3), array(1, 3, 5)); +--------------------------------------------+ |array_except(array(1, 2, 3), array(1, 3, 5))| +--------------------------------------------+ | [2]| +--------------------------------------------+ -- array_insert SELECT array_insert(array(1, 2, 3, 4), 5, 5); +-------------------------------------+ |array_insert(array(1, 2, 3, 4), 5, 5)| +-------------------------------------+ | [1, 2, 3, 4, 5]| +-------------------------------------+ SELECT array_insert(array(5, 4, 3, 2), -1, 1); +--------------------------------------+ |array_insert(array(5, 4, 3, 2), -1, 1)| +--------------------------------------+ | [5, 4, 3, 2, 1]| +--------------------------------------+ SELECT array_insert(array(5, 3, 2, 1), -4, 4); +--------------------------------------+ |array_insert(array(5, 3, 2, 1), -4, 4)| +--------------------------------------+ | [5, 4, 3, 2, 1]| +--------------------------------------+ -- array_intersect SELECT array_intersect(array(1, 2, 3), array(1, 3, 5)); +-----------------------------------------------+ |array_intersect(array(1, 2, 3), array(1, 3, 5))| +-----------------------------------------------+ | [1, 3]| +-----------------------------------------------+ -- array_join SELECT array_join(array('hello', 'world'), ' '); +----------------------------------+ |array_join(array(hello, world), )| +----------------------------------+ | hello world| +----------------------------------+ SELECT array_join(array('hello', null ,'world'), ' '); +----------------------------------------+ |array_join(array(hello, NULL, world), )| +----------------------------------------+ | hello world| +----------------------------------------+ SELECT array_join(array('hello', null ,'world'), ' ', ','); +-------------------------------------------+ |array_join(array(hello, NULL, world), , ,)| +-------------------------------------------+ | hello , world| +-------------------------------------------+ -- array_max SELECT array_max(array(1, 20, null, 3)); +--------------------------------+ |array_max(array(1, 20, NULL, 3))| +--------------------------------+ | 20| +--------------------------------+ -- array_min SELECT array_min(array(1, 20, null, 3)); +--------------------------------+ |array_min(array(1, 20, NULL, 3))| +--------------------------------+ | 1| +--------------------------------+ -- array_position SELECT array_position(array(312, 773, 708, 708), 708); +----------------------------------------------+ |array_position(array(312, 773, 708, 708), 708)| +----------------------------------------------+ | 3| +----------------------------------------------+ SELECT array_position(array(312, 773, 708, 708), 414); +----------------------------------------------+ |array_position(array(312, 773, 708, 708), 414)| +----------------------------------------------+ | 0| +----------------------------------------------+ -- array_prepend SELECT array_prepend(array('b', 'd', 'c', 'a'), 'd'); +-----------------------------------+ |array_prepend(array(b, d, c, a), d)| +-----------------------------------+ | [d, b, d, c, a]| +-----------------------------------+ SELECT array_prepend(array(1, 2, 3, null), null); +-----------------------------------------+ |array_prepend(array(1, 2, 3, NULL), NULL)| +-----------------------------------------+ | [NULL, 1, 2, 3, N...| +-----------------------------------------+ SELECT array_prepend(CAST(null as Array<Int>), 2); +----------------------+ |array_prepend(NULL, 2)| +----------------------+ | NULL| +----------------------+ -- array_remove SELECT array_remove(array(1, 2, 3, null, 3), 3); +----------------------------------------+ |array_remove(array(1, 2, 3, NULL, 3), 3)| +----------------------------------------+ | [1, 2, NULL]| +----------------------------------------+ -- array_repeat SELECT array_repeat('123', 2); +--------------------+ |array_repeat(123, 2)| +--------------------+ | [123, 123]| +--------------------+ -- array_union SELECT array_union(array(1, 2, 3), array(1, 3, 5)); +-------------------------------------------+ |array_union(array(1, 2, 3), array(1, 3, 5))| +-------------------------------------------+ | [1, 2, 3, 5]| +-------------------------------------------+ -- arrays_overlap SELECT arrays_overlap(array(1, 2, 3), array(3, 4, 5)); +----------------------------------------------+ |arrays_overlap(array(1, 2, 3), array(3, 4, 5))| +----------------------------------------------+ | true| +----------------------------------------------+ -- arrays_zip SELECT arrays_zip(array(1, 2, 3), array(2, 3, 4)); +------------------------------------------+ |arrays_zip(array(1, 2, 3), array(2, 3, 4))| +------------------------------------------+ | [{1, 2}, {2, 3}, ...| +------------------------------------------+ SELECT arrays_zip(array(1, 2), array(2, 3), array(3, 4)); +-------------------------------------------------+ |arrays_zip(array(1, 2), array(2, 3), array(3, 4))| +-------------------------------------------------+ | [{1, 2, 3}, {2, 3...| +-------------------------------------------------+ -- flatten SELECT flatten(array(array(1, 2), array(3, 4))); +----------------------------------------+ |flatten(array(array(1, 2), array(3, 4)))| +----------------------------------------+ | [1, 2, 3, 4]| +----------------------------------------+ -- get SELECT get(array(1, 2, 3), 0); +----------------------+ |get(array(1, 2, 3), 0)| +----------------------+ | 1| +----------------------+ SELECT get(array(1, 2, 3), 3); +----------------------+ |get(array(1, 2, 3), 3)| +----------------------+ | NULL| +----------------------+ SELECT get(array(1, 2, 3), -1); +-----------------------+ |get(array(1, 2, 3), -1)| +-----------------------+ | NULL| +-----------------------+ -- sequence SELECT sequence(1, 5); +---------------+ | sequence(1, 5)| +---------------+ |[1, 2, 3, 4, 5]| +---------------+ SELECT sequence(5, 1); +---------------+ | sequence(5, 1)| +---------------+ |[5, 4, 3, 2, 1]| +---------------+ SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval 1 month); +----------------------------------------------------------------------+ |sequence(to_date(2018-01-01), to_date(2018-03-01), INTERVAL '1' MONTH)| +----------------------------------------------------------------------+ | [2018-01-01, 2018...| +----------------------------------------------------------------------+ SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval '0-1' year to month); +--------------------------------------------------------------------------------+ |sequence(to_date(2018-01-01), to_date(2018-03-01), INTERVAL '0-1' YEAR TO MONTH)| +--------------------------------------------------------------------------------+ | [2018-01-01, 2018...| +--------------------------------------------------------------------------------+ -- shuffle SELECT shuffle(array(1, 20, 3, 5)); +---------------------------+ |shuffle(array(1, 20, 3, 5))| +---------------------------+ | [5, 1, 20, 3]| +---------------------------+ SELECT shuffle(array(1, 20, null, 3)); +------------------------------+ |shuffle(array(1, 20, NULL, 3))| +------------------------------+ | [1, NULL, 20, 3]| +------------------------------+ -- slice SELECT slice(array(1, 2, 3, 4), 2, 2); +------------------------------+ |slice(array(1, 2, 3, 4), 2, 2)| +------------------------------+ | [2, 3]| +------------------------------+ SELECT slice(array(1, 2, 3, 4), -2, 2); +-------------------------------+ |slice(array(1, 2, 3, 4), -2, 2)| +-------------------------------+ | [3, 4]| +-------------------------------+ -- sort_array SELECT sort_array(array('b', 'd', null, 'c', 'a'), true); +-----------------------------------------+ |sort_array(array(b, d, NULL, c, a), true)| +-----------------------------------------+ | [NULL, a, b, c, d]| +-----------------------------------------+