IEEE 754标准里:浮点型float是非精确类型,但是在oracle里的定义是float是精确类型,binary_float是非精确类型
例如:
 create table float_t (a float);
    insert into float_t values (3.55555);
select * from float_t ;
查询到的结果是:3.55555
create table float_t (a binary_float);
insert into float_t values (3.55555);
那么查询出来的结果就是:3.55555009841919
但是这个DQL任然有效:select * from float_t where a = 3.55555;输出的结果仍然是:3.55555009841919
sql规范里提供的精确存储浮点型数据的类型:number/decimal/dec,三个效果完全一样,
综上所述:设计到精确数值计算的一定要用使用合适的类型来存储数据!
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号