Array(T)
T
型のアイテムの配列で、開始インデックスは1です。T
は任意のデータ型であり、配列も含まれます。
配列の作成
関数を使用して配列を作成できます:
角括弧を使用することもできます。
配列を作成する例:
データ型の操作
配列を即興で作成する際、ClickHouseは引数のデータ型を、リストされたすべての引数を格納できる最も狭いデータ型として自動的に定義します。もしNullableやリテラルNULLの値がある場合、配列要素の型もNullableになります。
ClickHouseがデータ型を特定できなかった場合、例外が生成されます。例えば、文字列と数字を同時に含む配列を作成しようとする場合 (SELECT array(1, 'a')
) にこの問題が発生します。
自動データ型検出の例:
互換性のないデータ型の配列を作成しようとすると、ClickHouseは例外をスローします:
配列のサイズ
size0
サブカラムを使用して配列のサイズを取得することができ、全体のカラムを読み込む必要はありません。多次元配列の場合は、sizeN-1
を使います。ここで、N
は求める次元です。
例
クエリ:
結果:
配列からのネストされたサブカラムの読み取り
配列内のネストされた型T
がサブカラムを持っている場合(例えば、名前付きタプルの場合)、Array(T)
型から同じサブカラム名を持つサブカラムを読むことができます。サブカラムの型は、元のサブカラムの型のArray
になります。
例