zoukankan      html  css  js  c++  java
  • trunc和round区别

    1、关于trunc 和round函数比较

    整体概括:

    round函数 四舍五入
    trunc函数 直接截取

    对于时间:

    Round函数对日期进行“四舍五入”,Trunc函数对日期进行截取。如果我们不指定格式的话,Round会返回一个最接近date参数的日期,而Trunc函数只会简单的截取时分秒部分,返回年月日部分

    对于数字:

    Round函数对数字同样进行“四舍五入”,Trunc函数截取时不进行四舍五入,可以指明保留小数点后面的位数。


    2、Round、Trunc用法

    /**************************For date****************************/
    --Trunc函数
    SELECT TRUNC(SYSDATE), -- 今天的日期为 2014-05-08
        TRUNC(SYSDATE, 'YYYY'), --返回当年第一天 2014-01-01 yyyy/yy/year 年
        TRUNC(SYSDATE, 'MM'), --返回当月第一天 2014-05-01 mm/month 月
        TRUNC(SYSDATE, 'DD'), --返回当前年月日 2014-05-08 d/day 周
        TRUNC(SYSDATE, 'D'), --(星期天)返回当前星期的第一天 2014-05-04
        TRUNC(SYSDATE, 'HH'), --返回当前时间精确小时 2014-05-08 11:00:00
        TRUNC(SYSDATE, 'MI') -- 返回当前时间精确分钟 2014-05-08 11:06:00 TRUNC()函数没有秒的精确
    FROM DUAL;
    --Round函数
    select Round(sysdate, 'Q') Rnd_Q, --2014-04-01
        Round(sysdate, 'Month') Rnd_Month, --2014-05-01
        Round(sysdate, 'WW') Rnd_Week, --2014-05-07
        Round(sysdate, 'W') Rnd_Week_again, --2014-05-08
        Round(sysdate, 'DDD') Rnd_day, --2014-05-08
             Round(sysdate, 'DD') Rnd_day_again, --2014-05-08
        Round(sysdate, 'DAY') Rnd_day_of_week, --2014-05-11
        Round(sysdate, 'D') Rnd_day_of_week_again, --2014-05-11
        Round(sysdate, 'HH12') Rnd_hour_12, --2014-05-08 12:00:00
        Round(sysdate, 'HH24') Rnd_hour_24, --2014-05-08 12:00:00
        Round(sysdate, 'MI') Rnd_minute --2014-05-08 11:52:00
    from dual;

    /****************************For number************************/

    --TRUNC(number,num_digits)
    Number 需要截尾取整的数字。
    Num_digits 指明需保留小数点后面的位数。可选项,忽略他则截去任何的小数部分,Num_digits 的默认值为 0,
    --此参数够为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。
    TRUNC()函数截取时不进行四舍五入

    select TRUNC(123.458), --123
       TRUNC(123.458, 0), --123
       TRUNC(123.458, 1), --123.4
       TRUNC(123.458, 2), --123.45
         TRUNC(123.458, 3), --123.458
       TRUNC(123.458, 4), --123.458
       TRUNC(123.458, -1), --120
       TRUNC(123.458, -2), --100
       TRUNC(123.458, -3), --0
       TRUNC(123.458, -4), --0
       TRUNC(123), --123
       TRUNC(123, 1), --123
       TRUNC(123, 2), --123
       TRUNC(123, 3), --123
       TRUNC(123, 4) --123
    from dual;


    --Round函数
    select Round(123.458), --123
        Round(123.458, 0), --123
        Round(123.458, 1), --123.5
        Round(123.458, 2), --123.46
        Round(123.458, 3), --123.458
        Round(123.458, 4), --123.458
        Round(123.458, -1), --120
        Round(123.458, -2), --100
        Round(123.458, -3), --0
        Round(123.458, -4), --0
        Round(123), --123
        Round(123, 1), --123
        Round(123, 2), --123
        Round(123, 3), --123
        Round(123, 4) --123
    from dual;

  • 相关阅读:
    AIX6.1 线程模型说明
    多线程专题之线程死锁原因之谜
    多线程执行顺序诡异现象谈,你不知道的pthread_create
    SOA体系结构基础培训教程-规范标准篇
    C# AES要解密的数据的长度无效
    winform命名规范
    winform 打开一个窗体,关闭一个窗体
    VS2017专业版和企业版激活密钥
    AES五种加密模式
    c#POST请求php接口
  • 原文地址:https://www.cnblogs.com/min-yu/p/11205765.html
Copyright © 2011-2022 走看看