Float32 | Float64 | BFloat16 类型
ClickHouse 和 C 中的等效类型如下:
Float32—float。Float64—double。
ClickHouse 中的浮点类型具有以下别名:
Float32—FLOAT,REAL,SINGLE。Float64—DOUBLE,DOUBLE PRECISION。
创建表时,可以设置浮点数的数字参数(例如 FLOAT(12),FLOAT(15, 22),DOUBLE(12),DOUBLE(4, 18)),但 ClickHouse 会忽略这些参数。
使用浮点数
- 与浮点数的计算可能会产生舍入误差。
- 计算的结果依赖于计算方法(处理器类型和计算机系统架构)。
- 浮点计算可能会产生如无穷大(
Inf)和“非数字”(NaN)的结果。这在处理计算结果时应该予以考虑。 - 从文本中解析浮点数时,结果可能不是最近的机器可表示数字。
NaN 和 Inf
与标准 SQL 相比,ClickHouse 支持以下类别的浮点数:
Inf– 无穷大。
-Inf— 负无穷大。
NaN— 非数字。
有关 NaN 排序的规则,请参见ORDER BY 子句。
BFloat16
BFloat16 是一种 16 位的浮点数据类型,具有 8 位的指数、符号和 7 位的尾数。
它对机器学习和 AI 应用非常有用。
ClickHouse 支持 Float32 和 BFloat16 之间的转换,
可以使用 toFloat32() 或 toBFloat16 函数来完成。
备注
大多数其他操作不被支持。