Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ネイティブプロトコルのカラム型

一般的なリファレンスについては、Data Types を参照してください。

エンコーディング
整数 (Int/UInt) リトルエンディアンの 8、16、32、64、128、または 256 ビット
浮動小数点数 (Float32/Float64) IEEE 754 のバイナリ表現
String 文字列の配列。各要素は (len, value)
FixedString(N) N バイトのシーケンスの配列
IPv4 UInt32 の別名で、UInt32 として表現されます
IPv6 FixedString(16) の別名で、バイナリとして表現されます
Tuple 連続してエンコードされたカラムの配列。例: Tuple(String, UInt8) = 2 つの連続したカラム
Map Map(K, V) = 3 つのカラム: Offsets ColUInt64, Keys K, Values V。Keys/Values の行数 = 最後の Offsets の値
Array Array(T) = 2 つのカラム: Offsets ColUInt64, Data T。Data の行数 = 最後の Offsets の値
Nullable Nullable(T) = 2 つのカラム: Nulls ColUInt8, Values T。行数は同じです。Nulls はマスクです: 1=null、0=value
UUID FixedString(16) の別名で、バイナリとして表現されます
Enum Int8 または Int16 の別名で、各整数は String 値に対応付けられます
LowCardinality LowCardinality(T) = 2 つのカラム: Index T, Keys K。ここで K は UInt8/16/32/64 です。Index には一意な値が含まれ、Keys には Index 内の位置を示す値が含まれます
Bool UInt8 の別名: 0=false、1=true

例: Nullable のエンコーディング

To encode [null, "", "hello", null, "world"]:
  Values: ["", "", "hello", "", "world"] (len: 5)
  Nulls:  [ 1,  0,       0,  1,       0] (len: 5)

例: LowCardinality エンコーディング

To encode ["Eko", "Eko", "Amadela", "Amadela", "Amadela", "Amadela"]:
  Index: ["Eko", "Amadela"] (String)
  Keys:  [0, 0, 1, 1, 1, 1] (UInt8)
Navigation