配列関数は、OceanBaseデータベースシステムが提供する、配列データを処理するための専用関数群です。これらの関数により、ユーザーは複雑な配列クエリや分析を実行できます。
以下は、OceanBaseの配列関数とその用途の概要です:
配列関数の種類
配列関数一覧
OceanBaseデータベースで現在サポートされているすべての配列関数は以下のとおりです。
関数タイプ |
関数名 |
説明 |
|---|---|---|
| 配列コンストラクタ | array | 配列データを構築するために使用されます。 |
| 配列コンストラクタ | rb_build | 整数型の基本データ型を持つ配列データを、効率的に圧縮されたビットマップデータ(RoaringBitmap)に変換するために使用されます。 |
| 演算子 | [] | 配列データを構築するために使用されます。 |
| 配列判定関数 | array_contains | 配列に特定の要素が含まれているかどうかを判定します。 |
| 配列判定関数 | array_contains_all | 入力された配列が別の配列のすべての要素を含んでいるかどうかを判定します。 |
| 配列判定関数 | array_overlaps | 2つの配列に交差が存在するかどうかを判定します。 |
| 演算子 | ANY | 配列に特定の要素が含まれているかどうかを判定します。これはarray_contains()関数と同じ機能です。 |
| 配列出力関数 | array_to_string | 配列を文字列に変換します。具体的には、指定された区切り文字と空要素文字を使用して、配列内のすべての基本要素を文字列として出力します。 |
| 配列操作関数 | array_append | ターゲット配列の末尾に指定された要素を追加します。 |
| 配列操作関数 | array_distinct | ターゲット配列から重複する要素を削除します。 |
| 配列操作関数 | array_remove | ターゲット配列から指定された要素を削除します。 |
| 配列操作関数 | cardinality | ターゲット配列の基本要素の数を返します。 |
| 配列操作関数 | element_at | インデックスに基づいて、ターゲット配列の指定された位置の要素を返します。 |
| 配列操作関数 | string_to_array | 指定された区切り文字を使用して、文字列を文字列配列に分割します。 |
| 配列操作関数 | array_agg | 指定された列上の複数行のデータを1つの配列値に集約し、結果を返します。 |
| 配列操作関数 | unnest | 配列内の要素を展開して複数行にし、これらの要素を含むリレーショナルテーブルを返します。 |
| 配列操作関数 | array_prepend | 配列の先頭に1つの要素を追加し、新しい配列を返します。 |
| 配列操作関数 | array_concat | 複数の配列を結合し、新しい配列を返します。 |
| 配列操作関数 | array_compact | 配列内の連続する重複要素を削除し、新しい配列を返します。 |
| 配列操作関数 | array_sort | 配列を昇順でソートし、ソート時にNULL値を配列の最後に配置します。 |
| 配列操作関数 | array_length | 配列の長さを返します。ネストされた配列の場合、最初のレベルの配列の長さを返します。 |
| 配列操作関数 | array_range | 等差数列の配列を生成します。 |
| 配列操作関数 | array_sum | 配列内のすべての要素の合計を計算します。 |
| 配列操作関数 | array_diffrence | 配列内の隣接する2つの要素の差を計算し、結果を新しい配列に格納して返します。 |
| 配列操作関数 | array_min | 配列内の最小値を返します。NULL値は無視されます。 |
| 配列操作関数 | array_max | 配列内の最大値を返します。NULL値は無視されます。 |
| 配列操作関数 | array_avg | 配列内のすべての要素の平均値を返します。NULL値は0として計算されます。 |
| 配列操作関数 | array_position | 配列内の指定された要素の位置を検索します。 |
| 配列操作関数 | array_slice | 配列の指定された位置から一部の要素を抽出し、抽出された要素を新しい配列として組み立てて返します。 |
| 配列操作関数 | reverse | 配列内の要素を逆順に並べ替えます。ネストされた配列の場合、最初のレベルの要素を逆順に並べ替えます。 |
| 配列操作関数 | array_map | 入力された各配列の要素をLambda関数に従って変換し、各変換後に得られたすべての新しい要素を1つの新しい配列に合成して出力結果とします。 |
| 配列操作関数 | array_filter | Lambda関数の戻り値に基づいて、配列内の要素をフィルタリングするかどうかを決定します。 |
| 配列操作関数 | array_sortby | 指定されたLambda関数に基づいて配列をソートします。 |
| 配列操作関数 | array_first | 指定されたLambda関数の戻り値が0以外となる配列内の最初の要素を返します。 |