array() 関数

array() 関数は、指定された型の配列を作成します。

構文

array() 関数の構文は次のとおりです。
array = array(int type);
type 値は、以下の表のような、作成する配列の型を指定する整数コードです。
表 1. 配列タイプ
コード タイプ 説明
1 int1 8 ビット。
2 int2 16 ビット。
3 int4 32 ビット。
4 int8 64 ビット。
5 日付 January 1, 0001 から December 31, 9999 の日付範囲。 ディスク使用量は 4 バイトです。
6 時間 時、分、小数第 6 位までの秒。 範囲は 00:00:00.000000 から 23:59:59.999999 まで。 ディスク使用量は 8 バイトです。
7 タイム・スタンプ 日付部分と時刻部分 (秒数は小数第 6 位まで)。 範囲は January 1, 0001 00:00:00.000000 から December 31, 9999 23:59:59.999999 まで。 ディスク使用量は 8 バイトです。
8 varchar 可変長で、最大長は 64,000 文字。 ブランク埋め込みはありません。データは入力されたとおりに格納されます。 長さ n の varchar ストリングでは、ディスク使用量は最大でも n + 2 バイトです。
9 nvarchar 可変長の Unicode データで、最大長は 16,000 文字。 UTF-8 エンコーディングを使用する場合、Unicode コード・ポイントごとに 1 ~ 4 バイトのストレージ容量が必要です。 つまり、10 文字のストリングでは、ASCII の場合は 10 バイト、Latin の場合は最大 20 バイト、漢字の場合は最大 40 バイト (通常は 30バイト) のストレージ容量がそれぞれ必要です。
10 浮動小数点 1 から 15 の精度を持つ浮動小数点数。 精度が 6 未満の場合は 4 バイトを使用します。 精度が 7 から 15 の場合は 8 バイトを使用します。
11 double 精度 15 を持ち、8 バイトを使用する浮動小数点数に相当する値。
15 timetz 時、分、小数第 6 位までの秒、および GMT (グリニッジ標準時) からの時間帯オフセット。

戻り

この関数は、指定された配列タイプを作成します。

次の例を考慮してください。
create table array_t(col1 int,col2 varchar(100));
CREATE TABLE
以下の INSERT 照会で、int2 型の配列が作成されて、表に格納されます。
insert into array_t values(1,array(2));
INSERT 0 1
以下の照会は、配列が作成されて、array_t 表に格納されたことを示します。
select * from array_t;
 col1 | col2 
------+------
    1 | ARR
(1 row)