字符串类型
数据类型 |
描述 |
备注 |
String |
可变长度字符串 |
无长度限制,适用于存储任意字符 |
FixedString |
固定长度字符串 |
定长字符串,长度在创建时指定,如 FixedString(32) |
LowCardinality |
低基数字符串 |
用于存储重复值较多的字符串,优化存储和查询性能 |
数值类型
数据类型 |
描述 |
范围/精度 |
Int8 |
有符号 8 位整数 |
-128 到 127 |
Int16 |
有符号 16 位整数 |
-32768 到 32767 |
Int32 |
有符号 32 位整数 |
-2147483648 到 2147483647 |
Int64 |
有符号 64 位整数 |
-9223372036854775808 到 9223372036854775807 |
UInt8 |
无符号 8 位整数 |
0 到 255 |
UInt16 |
无符号 16 位整数 |
0 到 65535 |
UInt32 |
无符号 32 位整数 |
0 到 4294967295 |
UInt64 |
无符号 64 位整数 |
0 到 18446744073709551615 |
Float32 |
32 位单精度浮动小数 |
IEEE 754 标准,精度约为 7 位小数 |
Float64 |
64 位双精度浮动小数 |
IEEE 754 标准,精度约为 15 位小数 |
Decimal |
高精度定点数 |
精度最大为 65,标度最大为 30 |
Decimal32 |
32位高精度定点数 |
精度最大为9,标度最大为4,支持最大Decimal(9-s,s) |
Decimal64 |
64位高精度定点数 |
精度最大为18,标度最大为9,支持最大Decimal(18-s,s) |
Decimal128 |
128位高精度定点数 |
精度最大为38,标度最大为18,支持最大Decimal(38-s,s) |
注意:Decimal中的精度是指的整数和小数的总位数,标度指的是小数位数
日期时间类型
数据类型 |
描述 |
范围/精度 |
Date |
日期类型 |
支持从 1970-01-01 到 2106-02-07 的日期 |
Time |
时间类型 |
00:00:00 到 23:59:59 |
DateTime |
日期和时间类型 |
支持从 1970-01-01 00:00:00 到 2106-02-07 23:59:59 |
DateTime64 |
日期和时间类型,支持更高精度 |
支持到纳秒精度,范围同 DateTime,但精度可配置 |
Interval |
时间间隔类型 |
支持各种时间单位,如秒、分钟、小时、天、月、年等 |
枚举类型
数据类型 |
描述 |
备注 |
Enum |
枚举类型,实际就是Enum8 |
最大支持 255 个枚举值 |
Enum8 |
枚举类型,支持Int8类型整数作为值 |
最大支持 255 个枚举值 |
Enum16 |
枚举类型,支持Int16类型整数作为值 |
最大支持 65535 个枚举值 |
数组类型
数据类型 |
描述 |
备注 |
Array |
数组类型 |
存储一个元素类型相同的有序集合,元素类型可以是任何类型 |
元组类型
数据类型 |
描述 |
备注 |
Tuple |
元组类型 |
存储不同类型的固定大小元素集合,类似于 Python 的 tuple |
映射类型
数据类型 |
描述 |
备注 |
Map |
键值对映射类型 |
存储键值对,每个键和值的类型可以不同 |
其它类型
数据类型 |
描述 |
备注 |
Nullable |
UUID 类型 |
表示可为空,与TypeName 的正常值一起使用,格式:Nullable(TypeName) 例如 Nullable(Int8):列可以存储 Int8 类型值,而没有值将存储 NULL |
UUID |
UUID 类型 |
用于存储全局唯一标识符 |
IPV4 |
IPV4 地址类型 |
用于存储 IPV4 地址 |
IPV6 |
IPV6 地址类型 |
用于存储 IPV6 地址 |