表 9.52に、配列型専用に利用可能な演算子を示します。 これらに加えて表 9.1で示す通常の比較演算子が配列で利用できます。 比較演算子は配列の内容をその要素のデータ型用のデフォルトのB-tree比較関数を要素単位で比較し、最初にどの要素に違いがあったかに基づいてソートします。 多次元配列では配列の要素は行優先順にアクセスされます。(最後の添字が最初に変化します。) 2つの配列の内容が同じで次元数が異なる場合は、どの次元で最初に違いがあったかによってソート順が決まります。
表9.52 配列演算子
演算子 説明 例 |
---|
最初の配列が2番目を含んでいるか?すなわち、2番目の配列の各要素は最初の配列のいくつかの要素と同じであるか?
(重複は特に考慮されないので、
|
最初の配列は2番目に含まれているか?
|
配列は重なり合っているか?すなわち、共通の要素を持っているか?
|
2つの配列を結合します。 nullあるいは空の配列の結合は無処理です。そうでない場合は、配列は同じ次元数を持っていなければなりません。 (最初の例にあるように)。さもなければ次元数でひとつ違わなければなりません(2番目の例にあるように)。 配列の要素型が異なる場合は、共通の型へと置き換えられます(10.5参照)。
|
配列(空か一次元の配列でなければなりません)の先頭に要素を結合します。
|
配列(空か一次元の配列でなければなりません)の最後に要素を結合します。
|
配列演算子の振舞いの詳細は8.15を参照してください。 どの演算子がインデックス付きの操作をサポートしているかのより詳細については11.2を参照してください。
表 9.53に配列型で使用可能な関数を示します。 これらの関数の情報と例については8.15を参照してください。
表9.53 配列関数
関数 説明 例 |
---|
配列の最後に要素を追加します。(
|
2つの配列を結合します。(
|
配列の次元をテキスト表現で返します。
|
与えられた値のコピーで満たされた2番目の引数で指定した次元の長さを持つ配列を返します。
オプションの3番目の引数は各次元の下限値を与えます(デフォルトはすべて
|
要求された配列の次元の大きさを返します。 (空、あるいは配列の次元が見つからない場合は0ではなくNULLを生成します。)
|
要求された配列の次元の下限を返します。
|
配列の次元数を返します。
|
2番目の引数が最初に配列に現れた添字を返します。存在しなければ
|
2番目の引数が配列に現れるすべての添字を配列で返します。存在しなければ
|
配列の先頭に要素を追加します。(
|
与えられた値と等しい要素を配列から削除します。
配列は一次元でなければなりません。
比較は
|
2番目の引数と等しい要素を3番目の引数で置き換えます。
|
配列要素をテキスト表現に変換し
|
要求された配列の次元の上限を返します。
|
配列中の要素数を返します。配列が空なら0が返ります。
|
最後の
|
配列を行の集合に展開します。 配列要素は格納順に読み出されます。
1 2
foo bar baz quux
|
複数の配列(異なるデータ型の可能性があります)を行の集合に展開します。
配列の長さが同じでなければ、短い配列には
a | b ---+----- 1 | foo 2 | bar | baz
|
配列を使用する集約関数array_agg
について、9.21も参照してください。