lak*_*nga 3 sql oracle truncate rounding negative-number
使用否定参数进行截断和舍入是否相同?
SQL> select round(123456.76,-4) from dual;
ROUND(123456.76,-4)
-------------------
120000
SQL> select trunc(123456.76,-4) from dual;
TRUNC(123456.76,-4)
-------------------
120000
Run Code Online (Sandbox Code Playgroud)
不,行为取决于有效数字的值(在您的情况下,第3位数字(3)是重要数字,因为它低于5 round
并且trunc
执行相同的操作)
尝试select trunc(125456.76,-4) from dual
(结果是120000)vs select round(125456.76,-4) from dual
(结果是130000).现在当有效数字是5(或更高)时,结果trunc
和round
不同.