从品牌网站建设到网络营销策划,从策略到执行的一站式服务
本篇文章为大家展示了怎样解决4种databases PMSO 在精度计算中的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
在绵竹等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站设计 网站设计制作按需网站制作,公司网站建设,企业网站建设,品牌网站设计,全网营销推广,成都外贸网站建设公司,绵竹网站建设费用合理。
1 Oracle 中的计算,不同的位置的计算会造成最终的结果不同的问题,请见下图
2 官方给出的解答是,直接计算会返回不具有IEEE 754 方式的四舍五入的浮点算法。
3 官方推荐的正确计算方式是,添加 to_number的方式,来进行相关的数值计算后,
在进行四舍五入的计算,这样获得的值,则不会像上面一样,会有different values 的
存在。
4 这样的问题在 SQL SERVER 中存在不存在,答案是存在,并且更难搞
首先我们照搬上面的计算,图中很清楚的看到,结果和ORACLE 不同如初一辙
我们按照惯性思维的方式,我们用ORACLE 同样的方式来处理看看结果怎么样
结果和ORACLE 不同,即使使用双精度的数字进行计算还是造成计算顺序不同,而值不同的情况,
则解决的方法有两个
方法1 多添加保留位,在图中我们可以看到,结果是一致的,但我想很多开发的同学都不大会满意
方法2 使用menoy类型来进行变换,结果是一致的
那如果此种情形发生在MySQL 数据库中呢?
同样 MYSQL 中存在同样的问题
这里MYSQL的处理方式稍微不同,虽然我们添加了 decimal 但如果还是保留2位小数,则结果还是不对,这里比需要的值多保留一位,则结果就一致了。
最后,PostgreSQL 怎么来进行下面的事情
在众多的数据库中,只有POSTGRESQL 给出了事情的真相,顺序不同计算的结果是不同的
在Postgresql 中可以通过类似MYSQL 的方式进行计算等式的修改后,两种计算获得同样的计算结果
上述内容就是怎样解决4种databases PMSO 在精度计算中的问题,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图