clickhouse 数据类型
时间: 2023-10-15 14:03:47 浏览: 151
clickhouse 支持多种数据类型,包括:
1. 数值类型:UInt8/16/32/64, Int8/16/32/64, Float32/64, Decimal
2. 时间类型:Date, DateTime, TimeInterval
3. 字符串类型:String, FixedString
. 枚举类型:Enum
5. 数组类型:Array
6. 元组类型:Tuple
7. IPv4 和 IPv6 类型:IPv4, IPv6
8. UUID 类型:UUID
9. 布尔类型:Boolean
相关问题
clickhouse数据类型
ClickHouse是一个开源的分布式列式数据库管理系统,它支持多种数据类型。以下是ClickHouse支持的一些常见数据类型:
1. 数值类型:
- Int8, Int16, Int32, Int64:有符号整数类型
- UInt8, UInt16, UInt32, UInt64:无符号整数类型
- Float32, Float64:浮点数类型
2. 字符串类型:
- String:可变长度字符串类型
- FixedString(N):固定长度字符串类型,N为字符串长度
3. 日期和时间类型:
- Date:日期类型(年-月-日)
- DateTime:日期时间类型(年-月-日 时:分:秒)
- DateTime64(N, T):具有精度和时区的日期时间类型,N表示小数点后位数,T表示时区
4. 布尔类型:
- UInt8或者Int8可以用作布尔类型,其中0表示false,非零值表示true
5. 数组类型:
- Array(T):数组类型,T为数组元素的数据类型
6. 枚举类型:
- Enum8, Enum16:枚举类型,用于存储具有固定预定义值集合的数据
7. IPv4和IPv6类型:
- IPv4:32位IPv4地址
- IPv6:128位IPv6地址
这只是ClickHouse支持的一部分数据类型,还有其他一些高级数据类型和自定义数据类型。你可以根据具体需求选择适合的数据类型。
clickhouse数据类型转换
ClickHouse兼容了Mysql的数据类型,可以在建表的DDL语句中使用Mysql的数据类型,如BIGINT、TEXT等,ClickHouse会自动将这些类型转换为ClickHouse的数据类型。同时,定义成Mysql的Timestamp,ClickHouse会自动将Timestamp转换为DataTime类型。此外,ClickHouse还支持数组类型Array(T),其中T可以是任何ClickHouse支持的数据类型。
以下是一些ClickHouse数据类型转换的例子:
1. 将Mysql的BIGINT类型转换为ClickHouse的Int64类型
```sql
CREATE TABLE test (
id Int64,
name String
) ENGINE = MergeTree() ORDER BY id;
INSERT INTO test VALUES (9223372036854775807, 'test');
SELECT * FROM test;
```
输出:`(9223372036854775807, 'test')`
2. 将Mysql的TEXT类型转换为ClickHouse的String类型
```sql
CREATE TABLE test (
id Int64,
name String
) ENGINE = MergeTree() ORDER BY id;
INSERT INTO test VALUES (1, 'hello');
SELECT * FROM test;
```
输出:`(1, 'hello')`
3. 将Mysql的Timestamp类型转换为ClickHouse的DateTime类型
```sql
CREATE TABLE test (
id Int64,
time DateTime
) ENGINE = MergeTree() ORDER BY id;
INSERT INTO test VALUES (1, '2022-01-01 00:00:00');
SELECT * FROM test;
```
输出:`(1, 2022-01-01 00:00:00)`
阅读全文