メインコンテンツへスキップ
この仕様では、ClickHouseのデータ型のバイナリエンコーディングおよびデコーディングに使用できるバイナリフォーマットについて説明します。このフォーマットは、Dynamic カラムのバイナリシリアライゼーションで使用され、対応する設定により、入出力フォーマット RowBinaryWithNamesAndTypes および Native でも使用できます。 以下の表では、各データ型がバイナリフォーマットでどのように表現されるかを示します。各データ型のエンコーディングは、型を示す1バイトと、任意の追加情報で構成されます。 バイナリエンコーディングにおける var_uint は、サイズが Variable-Length Quantity 圧縮を使ってエンコードされることを意味します。 JSON では、uint8_serialization_version というバイト値がシリアライゼーションのバージョンを示します。現時点ではこのバージョンは常に 0 ですが、将来的に JSON 型に新しい引数が導入された場合は変更される可能性があります。

Interval kind のバイナリエンコーディング

以下の表は、Interval データ型の各 interval kind がどのようにエンコードされるかを示しています。

集約関数パラメータのバイナリエンコーディング

以下の表は、AggregateFunction および SimpleAggregateFunction のパラメータがどのようにエンコードされるかを示しています。 パラメータのエンコーディングは、パラメータの型を示す 1 バイトと、その値自体で構成されます。
最終更新日 2026年6月10日