oracle数据库中小数精度问题

系统用的是oracle数据库,储存的数据多为数字,最大的情况下整数位大概8到10位,小数位4位,我本来是想用类似number(14,4)类型的,但是用这个数据类型的话,输... 系统用的是oracle数据库,储存的数据多为数字,最大的情况下整数位大概8到10位,小数位4位,我本来是想用类似number(14,4)类型的,但是用这个数据类型的话,输入到999999.9999它就会自动四舍五入了,不能够保证数据的精度。float我也用过,但是数位太多时它也会自动四舍五入,我不要四舍五入啊,要保留原来的数据。我应该用什么类型好?难道要用字符型?新人求解。
因为这些数据以后会涉及很多的计算,计算结果也要定时插入另一个表,所以似乎用字符型不怎么靠谱,因为计算时要用to_number来转化,转化时也会四舍五入。真的没有办法了吗?oracle怎么比mysql还麻烦啊在数据类型方面。各位大虾,救命啊!
展开
 我来答
micro0369
推荐于2017-11-25 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:3924万
展开全部
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;
更多追问追答
追问

求解答,是oracle某些不知名的设置问题?我是新手,请指教。

追答

这个应该是设置的问题,你用其他开发工具试试。

 

比如:toad、plsqldev、或者Oracle Sql Developer

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式