drop table anpm_data.floatanddecimal;
CREATE TABLE anpm_data.floatanddecimal (
id Int32,
f32 Float32,
f64 Float64,
d32 Decimal32(3),
d64 Decimal64(3)
)ENGINE = MergeTree ORDER BY id SETTINGS index_granularity = 8192;
insert into anpm_data.floatanddecimal(id,f32,f64,d32,d64) values(1,0.87, 0.87, 0.87, 0.87);
insert into anpm_data.floatanddecimal(id,f32,f64,d32,d64) values(2,0.807, 0.807, 0.807, 0.807);
insert into anpm_data.floatanddecimal(id,f32,f64,d32,d64) values(3,1.17, 0.1817, 0.1817, 0.1817);
insert into anpm_data.floatanddecimal(id,f32,f64,d32,d64) values(4,2.27, 1.1817, 1.1817, 1.1817);
insert into anpm_data.floatanddecimal(id,f32,f64,d32,d64) values(5,2.27, 2.1817, 2.1817, 2.1817);
insert into anpm_data.floatanddecimal(id,f32,f64,d32,d64) values(6,2.27, 99999.8071, 99999.8071, 99999.8071);
insert into anpm_data.floatanddecimal(id,f32,f64,d32,d64) values(7,2.27, 999999.8071, 999999.8071, 999999.8071);
insert into anpm_data.floatanddecimal(id,f32,f64,d32,d64) values(8,2.27, 9999999.8071, 999999.8071, 999999.8071);
insert into anpm_data.floatanddecimal(id,f32,f64,d32,d64) values(9,2.27, 99999999.8071, 999999.8071, 999999.8071);
select * from anpm_data.floatanddecimal order by id;
结论是float32的精度低得令人发指。