clickhou的常⽤数据类型
⽂章⽬录
数据类型
整型
整型包括有符号整型或⽆符号整型
有符号整型范围:
Int8 - [-128 : 127]
Int16 - [-32768 : 32767]
Int32 - [-2147483648 : 2147483647]
Int64 - [-9223372036854775808 : 9223372036854775807]
运动会的英文⽆符号整型范围:
UInt8 - [0 : 255]
UInt16 - [0 : 65535]
UInt32 - [0 : 4294967295]
UInt64 - [0 : 18446744073709551615]
浮点数
Float32 对应 float
Float64 对应 double
Inf 正⽆穷
-Inf 负⽆穷
NaN ⾮数字
官⽅建议尽可能以整数形式存储数据。例如,将固定精度的数字转换为整数值,例如货币数量或⻚⾯加载时间⽤毫秒为单位表⽰。
也可以使⽤有符号的定点数,可在加、减和乘法运算过程中保持精度。有符号的定点数:
鸿字开头的成语
烈士寄语Decimal(P, S), Decimal32(S), Decimal64(S), Decimal128(S)
参数:
P - 精度。有效范围:[1:38],决定可以有多少个⼗进制数字(包括分数)
S - 规模。有效范围:[0:P],决定数字的⼩数部分中包含的⼩数位数。
Boolean
clickhou没有单独的类型来存储布尔值。可以使⽤ UInt8 类型,取值限制为 0 或 1。
String和FixedString(N)
秋日物语字符串可以任意⻓度的。它可以包含任意的字节集,包含空字节。因此,字符串类型可以代替其他 DBMSs 中的 VARCHAR、 BLOB、CLOB 等类型。
FixedString是固定⻓度 N 的字符串。N 必须是严格的正⾃然数,⼀般很少使⽤
UUID
ClickHou提供了 generateuidv4 函数来⽣成UUID。
例⼦:
CREATE TABLE t_uuid (x UUID, y String) ENGINE=TinyLog
摇曳的意思是什么INSERT INTO t_uuid SELECT generateUUIDv4(), 'Example 1'
Date和DateTime
Date:⽇期类型,⽤两个字节存储,表⽰从 1970-01-01 (⽆符号) 到当前的⽇期值
DateTime:时间戳类型,精确到秒
Array(T)
数组创建⽅式:array(T)和[ ]
创建数组⽰例:
SELECT array(1, 2) AS x, toTypeName(x)
SELECT[1, 2] AS x, toTypeName(x)
ClickHou会⾃动检测数组元素,并根据元素计算出存储这些元素最⼩的数据类型。如果在元素中存在 NULL 或存在 Nullable 类型元素,那么数组的元素类型将会变成 Nullable。
Nullable(TypeName)
喝茶能降血压吗
clickhou允许⽤特殊标记 (NULL) 表⽰"缺失值",可以与 TypeName 的正常值存放⼀起。例如, Nullable(Int8) 类型的列可以存储
Int8 类型值,⽽没有值的⾏将存储 NULL 。
对于 TypeName ,不能使⽤复合数据类型 Array 和 Tuple。复合数据类型可以包含 Nullable 类型值,例 如 Array(Nullable(Int8)) 。Nullable 类型字段不能包含在表索引中。
综合实践活动课要在表的列中存储 Nullable 类型值,ClickHou 除了使⽤带有值的普通⽂件外,还使⽤带有 NULL 掩码的单独⽂件。 掩码 ⽂件中的条⽬允许 ClickHou 区分每个表⾏的 NULL 和相应数据类型的默认值。 由于附加了新⽂件, Nullable 列与类似的 普通⽂件相⽐消耗额外的存储空间。网易云怎么加好友