clickhouse21.7.11.3 数据类型-浮点型、Inf、NaN

浮点型

MySQL Clickhouse 大小字节 有效精度(位数)
float Float32 4 7
double Flout64 8 16

clickhouse 直接使用Float32代表单精度浮点数 使用Float64表示双精度浮点数。

注意

官方建议:尽可能以整数形式存储数据

在数据精度较高的计算中会存在数据精度丢失,使用需谨慎。

执行下面SQL:

SELECT 1 - 0.9

执行结果:

┌───────minus(1, 0.9)─┐
│ 0.09999999999999998 │
└─────────────────────┘

注意:dbeaver需要点击 【文本】 才能查看到

Inf

无限大

执行下面SQL:

SELECT 0.5 / 0

执行结果如下,表示无限大:

┌─divide(0.5, 0)─┐
│            inf │
└────────────────┘

负无限大

执行下面SQL:

SELECT -0.5 / 0

执行结果如下,表示 负无限大:

┌─divide(-0.5, 0)─┐
│            -inf │
└─────────────────┘

NaN

not a number,表示不是一个数字

执行下面SQL:

SELECT 0 / 0

执行结果如下:

┌─divide(0, 0)─┐
│          nan │
└──────────────┘

原文出处:/show_1IX3NpOynYjE.html