mef*_*ist 2 sql oracle oracle11g
我在Oracle 11g数据库上运行此sql语句
select round(79/3 + 87/3 + 86/6 + 95/6) from dual
Run Code Online (Sandbox Code Playgroud)
然后它回来了 85
select round(79/3 + 87/3 + 86/6 + 95/6,1) from dual
Run Code Online (Sandbox Code Playgroud)
回报 85.5
select round(85.5) from dual
Run Code Online (Sandbox Code Playgroud)
返回正确的值 86
有谁知道为什么第一个SQL语句没有返回正确的值,86但它将其舍入到85??
Xop*_*ter 10
如果你这样做:
select 79/3 + 87/3 + 86/6 + 95/6 from dual;
Run Code Online (Sandbox Code Playgroud)
Oracle将返回85.49999999999999999999999999999999999999,当舍入到0小数位时确实是85.这是浮点运算的工件.