文章目录
- 字符串类型
- 数值类型
- 日期时间类型
- 枚举类型
- 数组类型
- 元组类型
- 映射类型
- 其它类型
字符串类型
数据类型 | 描述 | 备注 |
---|
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 地址 |