列类型
请参阅 数据类型 以获取常规参考。
数值类型
提示
数值类型的编码与小端 CPU(如 AMD64 或 ARM64)的内存布局相匹配。
这允许实现非常高效的编码和解码。
整数
Int 和 UInt 的字符串,支持 8、16、32、64、128 或 256 位,小端存储。
浮点数
Float32 和 Float64 采用 IEEE 754 二进制表示。
字符串
仅仅是字符串数组,即 (len, value)。
固定字符串(N)
一个 N 字节序列的数组。
IP
IPv4 是 UInt32
数值类型的别名,以 UInt32 表示。
IPv6 是 FixedString(16)
的别名,直接以二进制表示。
元组
元组仅仅是列的数组。例如,Tuple(String, UInt8) 只是两个连续编码的列。
映射
Map(K, V)
由三列组成:Offsets ColUInt64, Keys K, Values V
。
Keys
和 Values
列中的行数为 Offsets
的最后一个值。
数组
Array(T)
由两列组成:Offsets ColUInt64, Data T
。
Data
中的行数为 Offsets
的最后一个值。
可空类型
Nullable(T)
由 Nulls ColUInt8, Values T
组成,具有相同的行数。
UUID
FixedString(16)
的别名,UUID 值以二进制表示。
枚举
Int8
或 Int16
的别名,但每个整数映射到某些 String
值。
低基数
LowCardinality(T)
由 Index T, Keys K
组成,
其中 K
是(UInt8, UInt16, UInt32, UInt64)中的一种,具体取决于 Index
的大小。
布尔值
UInt8
的别名,其中 0
表示假,1
表示真。