有个一直没弄清楚的问题。float类型数据如何处理比较妥当。如果用float型,怕有精度的丢失,以前用mysql时会出现丢数甚至变数的问题。现在有几种办法,希望高手指点一下哪种比较好。1.用number类型存储。不知道会不会出现丢失,混乱问题。效率如何
2.所有数据转成varchar存进数据库。占用空间比较大。一直采用这种笨办法。
3.将float转成4字节ascII存到数据库中。但是如用存储过程对其进行运算,不知道如何转回来。希望有经验的人们指点。
2.所有数据转成varchar存进数据库。占用空间比较大。一直采用这种笨办法。
3.将float转成4字节ascII存到数据库中。但是如用存储过程对其进行运算,不知道如何转回来。希望有经验的人们指点。
比如我们系统,都是采用number(20,5)这样存储的,
SQL> declare
2 testnum number(38,19);
3 begin
4 testnum:=123456789987654321.123456789987654321;
5 dbms_output.put_line(testnum);
6 end;
7 /
--这个精度还怕什么啊,什么都是浮云
123456789987654321.123456789987654321PL/SQL 过程已成功完成。