すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:配列関数と演算子

最終更新日:Oct 31, 2024

AnalyticDB for PostgreSQLは、PostgreSQLの配列関数および演算子と互換性があります。 このトピックでは、AnalyticDB for PostgreSQLでサポートされている配列関数と演算子について説明し、配列関数と演算子の使用方法の例を示します。

PostgreSQLの配列関数と演算子の詳細については、「配列関数と演算子」をご参照ください。

配列演算子

概要

| | などの配列演算子は、Array型のデータに対して操作を実行するために使用されます。 演算子を使用して、配列式に対して操作と計算を実行し、対応する結果を返すことができます。

演算子

演算子

説明

サンプル結果

=

2つの配列が等しいかどうかをチェックします。

ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3]

t

<>

2つの配列が等しくないかどうかをチェックします。

ARRAY[1,2,3] <> ARRAY[1,2,4]

t

<

演算子の左側の配列が演算子の右側の配列より小さいかどうかを確認します。

ARRAY[1,2,3] < ARRAY[1,2,4]

t

>

演算子の左側の配列が演算子の右側の配列よりも大きいかどうかを確認します。

ARRAY[1,4,3] > ARRAY[1,2,4]

t

<=

演算子の左側の配列が演算子の右側の配列以下であるかどうかを確認します。

ARRAY[1,2,3] <= ARRAY[1,2,3]

t

>=

演算子の左側の配列が演算子の右側の配列より大きいか等しいかどうかを確認します。

ARRAY[1,4,3] >= ARRAY[1,4,3]

t

@>

演算子の左側の配列に、演算子の右側の配列のすべての要素が含まれているかどうかを確認します。

ARRAY[1,4,3] @> ARRAY[3,1,3]

t

<@

演算子の左側にある配列のすべての要素が、演算子の右側にある配列に含まれているかどうかを確認します。

ARRAY[2,2,7] <@ ARRAY[1,7,4,2,6]

t

&&

2つの配列が重複する (要素が共通する) かどうかを確認します。

ARRAY[1,4,3] && ARRAY[2,1]

t

||

2つの配列を連結します。

ARRAY[1,2,3] | | ARRAY[4,5,6]

{1,2、3,4、5,6}

||

1次元配列と多次元配列を連結します。

ARRAY[1,2,3] | | ARRAY[[4,5,6],[7,8,9]]

{{1,2,3 },{ 4,5,6 },{ 7,8,9}}

||

要素と配列を連続的に連結します。

3 | | アレイ [4,5,6]

{3,4,5,6}

||

配列と要素を順番に連結します。

ARRAY[4,5,6] | | 7

{4,5,6,7}

配列関数

概要

配列関数は、配列の操作と管理に使用されます。 配列関数を使用して、配列の連結、追加、削除などの操作を実行し、プログラミング効率を向上させることができます。

関数

関数

戻り値のデータ型

説明

サンプル結果

array_append (any array, any element)

任意の配列

配列の末尾に要素を追加します。

array_append(ARRAY[1,2], 3)

{1,2,3}

array_cat (any array, any array)

任意の配列

2つの配列を連結します。

array_cat(ARRAY[1,2,3], ARRAY[4,5])

{1,2、3,4、5}

array_ndims (any array)

int

配列の次元数を返します。

array_ndims(ARRAY[[1,2,3], [4,5,6]])

2

array_dims (any array)

テキスト

配列の次元のテキスト表現を返します。

array_dims(ARRAY[[1,2,3], [4,5,6]])

[1:2][1:3]

array_fill (any element, int[], [, int[] ])

任意の配列

指定された値とディメンションに基づいて初期化され、1以外のオプションの下限 (開始インデックス) を持つ配列を返します。

array_fill(7, ARRAY[3], ARRAY[2])

[2:4]={7,7,7}

array_length (any array, int)

int

要求された配列のディメンションの長さを返します。

array_length(array[1,2,3], 1)

3

array_lower (any array, int)

int

要求された配列のディメンションの下限を返します。

array_lower('[0:2]={1,2,3}'::int[], 1)

0

array_position (any array, any element [, int ])

int

配列の最初の要素または3番目の引数で指定された位置から始まる、最初の引数で指定された配列内の2番目の引数の最初の出現の下付き文字を返します。 この関数は、1次元配列でのみサポートされます。

array_position(ARRAY['sun','mon','tue','wed','thu','fri','sat'], 'mon')

2

array_positions (any array, any element)

int[]

最初の引数で指定された配列内の2番目の引数のすべてのオカレンスのサブスクリプトの配列を返します。 この関数は、1次元配列でのみサポートされます。

array_positions(ARRAY['A','A','B','A'], 'A')

{1,2,4}

array_prepend (any element, any array)

任意の配列

配列の先頭に要素を追加します。

array_prepend(1, ARRAY[2,3])

{1,2,3}

array_remove (any array, any element)

任意の配列

配列から特定の値に等しいすべての要素を削除します。 この関数は、1次元配列でのみサポートされます。

array_remove(ARRAY[1,2,3,2], 2)

{1,3}

array_replace (any array, any element, any element)

任意の配列

特定の値に等しい配列要素を新しい値に置き換えます。

array_replace(ARRAY[1,2,5,4], 5, 3)

{1,2,3,4}

array_to_string (any array, text [, text ])

テキスト

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

array_to_string(ARRAY [1,2, 3, NULL, 5], ',' * ')

1,2,3,*,5

array_upper (any array, int)

int

要求された配列のディメンションの上限を返します。

array_upper(ARRAY[1,8,3,7], 1)

4

カーディナリティ (any array)

int

配列内の要素の総数を返します。 配列が空の場合、この関数は0を返します。

カーディナリティ (ARRAY[[1,2],[3,4]])

4

string_to_array (text, text [, text ])

text[]

指定された区切り文字とオプションのnull文字列を使用して、文字列を配列要素に分割します。

string_to_array('xx ~ ^ ~ yy ~ ^ ~ zz', '~ ^ ~', 'yy')

{xx,NULL,zz}

unnest (any array)

セットの任意の要素

配列を行のセットに展開します。

unnest(ARRAY[1,2])

1
2

(2ライン)

unnest (any array, any array [, ...])

set of any element, any element [, ...]

複数の配列を行のセットに展開します。 配列は、異なるデータ型であってもよい。 この関数は、FROM句に含まれている場合にのみ有効です。

unnest(ARRAY[1,2],ARRAY['foo','bar','baz'])

1    foo
2    bar
NULL baz

(3ライン)