繁体   English   中英

sql中的trunc和round函数

[英]trunc and round function in sql

trunc和round具有否定参数是否相同?

       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

不,行为取决于有效数字的值(在您的情况下,第3个数字(3)是有效数字,因为它在5 round以下并且trunc相同)

尝试select trunc(125456.76,-4) from dual (结果为120000)中select trunc(125456.76,-4) from dual vs select round(125456.76,-4) from dual (结果为130000)中select round(125456.76,-4) from dual )。 现在,当有效数字为5(或更高)时, truncround入的结果将不同。

ROUND与给定值的整数相关。

TRUNC与给定值的截断有关。

在给定示例的round情况下,在小数点之前的4位到第4位填充0。

但是在trunc情况下,小数点前的第4位到第4位替换为0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM