oracle数据库中小数精度问题
系统用的是oracle数据库,储存的数据多为数字,最大的情况下整数位大概8到10位,小数位4位,我本来是想用类似number(14,4)类型的,但是用这个数据类型的话,输...
系统用的是oracle数据库,储存的数据多为数字,最大的情况下整数位大概8到10位,小数位4位,我本来是想用类似number(14,4)类型的,但是用这个数据类型的话,输入到999999.9999它就会自动四舍五入了,不能够保证数据的精度。float我也用过,但是数位太多时它也会自动四舍五入,我不要四舍五入啊,要保留原来的数据。我应该用什么类型好?难道要用字符型?新人求解。
因为这些数据以后会涉及很多的计算,计算结果也要定时插入另一个表,所以似乎用字符型不怎么靠谱,因为计算时要用to_number来转化,转化时也会四舍五入。真的没有办法了吗?oracle怎么比mysql还麻烦啊在数据类型方面。各位大虾,救命啊! 展开
因为这些数据以后会涉及很多的计算,计算结果也要定时插入另一个表,所以似乎用字符型不怎么靠谱,因为计算时要用to_number来转化,转化时也会四舍五入。真的没有办法了吗?oracle怎么比mysql还麻烦啊在数据类型方面。各位大虾,救命啊! 展开
展开全部
number(14,4)是精确的存储方式。
存储 999999.9999 肯定不会会出现 四舍五入 的情况
应该是你自己的处理有问题吧
我这样试过了,肯定没有问题的:
create table t_test1(a number(14,4));
insert into t_test1 values(999999.9999);
select * from t_test1;
drop table t_test1;
存储 999999.9999 肯定不会会出现 四舍五入 的情况
应该是你自己的处理有问题吧
我这样试过了,肯定没有问题的:
create table t_test1(a number(14,4));
insert into t_test1 values(999999.9999);
select * from t_test1;
drop table t_test1;
更多追问追答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询