メインコンテンツまでスキップ
メインコンテンツまでスキップ

Array(T)

T型のアイテムの配列で、開始インデックスは1です。Tは任意のデータ型であり、配列も含まれます。

配列の作成

関数を使用して配列を作成できます:

角括弧を使用することもできます。

配列を作成する例:

データ型の操作

配列を即興で作成する際、ClickHouseは引数のデータ型を、リストされたすべての引数を格納できる最も狭いデータ型として自動的に定義します。もしNullableやリテラルNULLの値がある場合、配列要素の型もNullableになります。

ClickHouseがデータ型を特定できなかった場合、例外が生成されます。例えば、文字列と数字を同時に含む配列を作成しようとする場合 (SELECT array(1, 'a')) にこの問題が発生します。

自動データ型検出の例:

互換性のないデータ型の配列を作成しようとすると、ClickHouseは例外をスローします:

配列のサイズ

size0サブカラムを使用して配列のサイズを取得することができ、全体のカラムを読み込む必要はありません。多次元配列の場合は、sizeN-1を使います。ここで、Nは求める次元です。

クエリ:

結果:

配列からのネストされたサブカラムの読み取り

配列内のネストされた型Tがサブカラムを持っている場合(例えば、名前付きタプルの場合)、Array(T)型から同じサブカラム名を持つサブカラムを読むことができます。サブカラムの型は、元のサブカラムの型のArrayになります。