为什么clickhouse表中不鼓励使用浮点表示?

yfwxisqw  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(532)

文档并没有真正解释 Float32 以及 Float64 以及他们为什么气馁。
我之所以问这个问题,是因为我看到在控制台cli请求或rest请求中使用these时出现了奇怪的行为。无论精度如何,发送到clickhouse的浮点值都会在最后一位略微修改。
例子: 1258.021545 成为 1258.0215453 .
每次插入这些值时,最后一个数字都会更改。我不认为问题来自于太高的精度值,因为这些值来自java double。

0vvn1miw

0vvn1miw1#

clickhouse文档之所以要讨论 Float 是舍入误差。它与clickhouse本身无关,而是一个实数表示的算法。如果你不介意时不时地犯些错误,那就用浮点数吧。但是,如果你要存储代表货币的数字,浮动是一个禁区,在这种情况下,将小数点左右的部分作为整数存储在两个不同的字段中

相关问题