oracle数据库中小数精度问题

oracle数据库中小数精度问题,第1张

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

Number类型是oralce的数值类型,存储的数值的精度可以达到38位。Number是一种变长类型,长度为0-22字节。取值范围为:10^(-130) —— 10^126(不包括)。以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运算的。

按你原本的小数位比如是0.88000000,先把结果加上0.000000001,然后截断小数位只留8位,当然如果你的数据在Oracle中如果能统一乘以10的n次方,然后按整数保存在Oracle中也是可以的


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6668398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存