select 41400 * (1+(0.005*2/12)) cr,
round(41400 * (1+(0.005*2/12)),0) rcr from dualcr rcr
41434.5 41434
select 41400+41400*(0.005*2/12) cr,
round(41400+41400*(0.005*2/12),0) rcr from dualcr rcr
41434.5 41435请教各位为啥前面那个没有进位,谢谢
round(41400 * (1+(0.005*2/12)),0) rcr from dualcr rcr
41434.5 41434
select 41400+41400*(0.005*2/12) cr,
round(41400+41400*(0.005*2/12),0) rcr from dualcr rcr
41434.5 41435请教各位为啥前面那个没有进位,谢谢
解决方案 »
- ~~~~~~~~~~~~~~自动补全、数据库设计!
- oracle 使用order by desc排序查询速度大大降低,求解决方案.
- 在OMS中建立streams时遇到奇怪问题,请指教!
- 异构:关于oracle连接SQLServer的问题,
- sql语句:insert问题
- oracle正常,但过段时间连接不了oracle,登陆时一直处于等状态,可能是什么原因?
- 找不到oracle management server!?!?!?!?
- 讨论查询执行计划
- 想做个java和微软开发语言的调查,Java的生存力大吗?
- 送分~!最简单的sql问题,答对者必给分!
- 问一个有关 delete 的问题
- 最近没什么事,想进一步学Oracle,正在弄pl/sql,不知方向对不对,大家可以告诉我就今后发展而言应该学些什么好呢
---------------- ----------------
41434.4999 34.499862
感觉就是第二种情况好像是在作乘法的时候就已经将0.49...转成了0.5,然后再对0.5进行round;而第一种是在操作0.49...
SQL> col r format 0.000000000
SQL> SELECT 1.000000000/74.000000*0.28338300000000 r FROM dual; R
------------
0.003829500SQL> SELECT round(1.000000000/74.000000*0.28338300000000,6) r FROM dual; R
------------
0.003829000SQL>ORACLE的round遇到复杂表达式或精度比较大时,出现不准确的情况,估计ORACLE内部错误。
http://www.soidc.net/discuss/30/040101/00/487306_1.html
------------------
34.5SQL> select 1 from dual where 41400 * (0.005*2/12)=34.5;no rows selected