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