美文网首页
Oracle round()函数与trunc()函数区别介绍

Oracle round()函数与trunc()函数区别介绍

作者: greensure | 来源:发表于2019-01-28 20:31 被阅读0次

    Ref:

    https://blog.csdn.net/tayanxunhua/article/details/9258029

    https://www.cnblogs.com/linjiao/p/6394087.html

    round(x[,y])

    截取数字

    格式如下:ROUND(number[,decimals])

    其中:number 待做截取处理的数值

    decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。

    如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。

    需要注意的是,和trunc函数不同,对截取的数字要四舍五入。

    【功能】返回四舍五入后的值

    【参数】x,y,数字型表达式, 如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。

    【返回】数字

    【示例】

    select round(5555.6666, 2.1), round(5555.6666, -2.6), round(5555.6666) from dual;

    返回: 5555.67, 5600, 5556

    【相近】trunc(x[,y]) 返回截取后的值,用法同round(x[,y]),只是不四舍五入

    trunc(x[,y])

    TRUNC():类似截取函数,按指定的格式截取输入的数据。

    TRUNC函数返回以指定元素格式截去一部分的日期值。

    【功能】返回x按精度y截取后的值

    【参数】x, y,数字型表达式, 如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示。

    【返回】数字

    1.【trunc(for dates)】TRUNC()函数处理日期

    语法格式:TRUNC(date[,fmt])

    其中:date 一个日期值;fmt 日期格式。

    该日期将按指定的日期格式截取;忽略它则由最近的日期截取。

    示例:

       select trunc(sysdate) from dual;--2017/2/13,返回当前时间 
       select trunc(sysdate,'yy') from dual;--2017/1/1,返回当年第一天 
       select trunc(sysdate,'mm') from dual;--2017/2/1,返回当月的第一天 
       select trunc(sysdate,'d') from dual;--2017/2/12,返回当前星期的第一天,即星期天
       select trunc(sysdate,'dd') from dual;--2017/2/13,返回当前日期,今天是2017/2/13 
       select trunc(sysdate ,'HH24') from dual;--2017/2/13 15:00:00,返回本小时的开始时间
       select trunc(sysdate ,'MI') from dual;--2017/2/13 15:13:00,返回本分钟的开始时间 
    
    
    2.【TRUNC(for number)】TRUNC()函数处理number型数字

    语法格式:TRUNC(number[,decimals])

    其中: number 待做截取处理的数值;decimals指明需保留小数点后面的位数,可选项,忽略它则截去所有的小数部分。

    注意:截取时并不对数据进行四舍五入。

    示例:

        select trunc(123.567, 2) from dual;--123.56,将小数点右边指定位数后面的截去; 
        select trunc(123.567, -2) from dual;--100,第二个参数可以为负数,表示将小数点左边指定位数后面的部分截去,即均以0记;
        select trunc(123.567) from dual;--123,默认截去小数点后面的部分;
    

    【示例】 select trunc(5555.66666, 2.1), trunc(5555.66666, -2.6), trunc(5555.033333) from dual;

    返回:5555.66 5500 5555

    【相近】round(x[,y]) 返回截取后的值,用法同trunc(x[,y]),只是要做四舍五入

    相关文章

      网友评论

          本文标题:Oracle round()函数与trunc()函数区别介绍

          本文链接:https://www.haomeiwen.com/subject/efezjqtx.html