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