• oracle中的日期:周月季年,首天未天。


    SQL> 
    SQL> SELECT to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss') 现在时间,to_char(sysdate,'hh24') 当前小时数,to_char(sysdate,'hh24')-1 前一小时数
      2   FROM dual;
     
    现在时间            当前小时数      前一小时数
    ------------------- ---------- ----------
    2016-11-23 10:04:25 10                  9
     
    SQL> 
    SQL> SELECT to_char(sysdate,'dd') AS 当天天数,to_char(sysdate,'iw') AS 本周周数,to_char(sysdate,'mm') AS 本月月份
      2         ,to_char(sysdate,'q') AS 本季度数,to_char(sysdate,'yyyy') AS 本年度数
      3   FROM dual;
     
    当天天数 本周周数 本月月份 本季度数 本年度数
    -------- -------- -------- -------- --------
    23       47       11       4        2016
     
    SQL> 
    SQL> SELECT trunc(sysdate) AS 当天日期,trunc(sysdate-1) AS 昨天日期
      2         ,TRUNC(sysdate,'iw') AS 本周第一天星期一,TRUNC(sysdate,'d') AS 本周第一天星期日
      3         ,trunc(SYSDATE, 'MM') AS 本月第一天,TRUNC(sysdate,'q') AS 本季度第一天,trunc(sysdate,'YYYY') AS 本年第一天
      4  FROM dual
      5  ;
     
    当天日期    昨天日期    本周第一天星期一 本周第一天星期日 本月第一天  本季度第一天 本年第一天
    ----------- ----------- ---------------- ---------------- ----------- ------------ -----------
    2016-11-23  2016-11-22  2016-11-21       2016-11-20       2016-11-1   2016-10-1    2016-1-1
     
    
    SQL> 
    SQL> SELECT TRUNC(sysdate,'iw')+7 AS 本周最后一天星期一,TRUNC(sysdate,'d')+7 AS 本周第一天星期日
      2         ,trunc(last_day(SYSDATE)) AS 本月最后一天,add_months(trunc(sysdate,'Q'),3)-1 AS 本季度第一天,add_months(trunc(sysdate,'yyyy'),12)-1 AS 本年最后一天
      3  FROM dual;
     
    本周最后一天星期一 本周第一天星期日 本月最后一天 本季度第一天 本年最后一天
    ------------------ ---------------- ------------ ------------ ------------
    2016-11-28         2016-11-27       2016-11-30   2016-12-31   2016-12-31
     
    SQL> 
    SQL> select trunc(sysdate, 'month') 本月第一天,trunc(last_day(sysdate)) 本月最后一天,
      2         trunc(add_months(sysdate, -1), 'month') 上月第一天,trunc(last_day(add_months(sysdate, -1))) 上月最后一天,
      3         trunc(last_day(add_months(SYSDATE, 0))+1) 下个月第一天,trunc(last_day(add_months(SYSDATE, 1))) 下个月最后一天,
      4         trunc(add_months(sysdate, -12), 'month') 去年本月第一天,trunc(last_day(add_months(sysdate, -12))) 去年本月最后一天
      5   from dual;
     
    本月第一天  本月最后一天 上月第一天  上月最后一天 下个月第一天 下个月最后一天 去年本月第一天 去年本月最后一天
    ----------- ------------ ----------- ------------ ------------ -------------- -------------- ----------------
    2016-11-1   2016-11-30   2016-10-1   2016-10-31   2016-12-1    2016-12-31     2015-11-1      2015-11-30
     
    SQL> 
    SQL>
    SQL> SELECT trunc(last_day(add_months(sysdate, -1)))-trunc(add_months(sysdate, -1), 'month')+1 上月天数
      2         ,trunc(last_day(add_months(sysdate, 0)))-trunc(add_months(sysdate, 0), 'month')+1 当月天数
      3         ,ADD_MONTHS(TRUNC(SYSDATE, 'YYYY'), 12)-TRUNC(SYSDATE, 'YYYY') 当年天数
      4   FROM dual;
     
          上月天数       当月天数       当年天数
    ---------- ---------- ----------
            31         30        366
    select sysdate from dual;
    /*
    sysdate
    ----------
    20-SEP-07
    
    日期格式 說明
    ------------------------------------------------------------------------
    YYYY/MM/DD -- 年/月/日
    YYYY -- 年(4位)
    YYY -- 年(3位)
    YY -- 年(2位)
    MM -- 月份
    DD -- 日期
    D -- 星期
         -- 星期日 = 1 星期一 = 2 星期二 = 3
         -- 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7
         
    DDD -- 一年之第幾天
    WW -- 一年之第幾週
    W -- 一月之第幾週
    YYYY/MM/DD HH24:MI:SS -- 年/月/日 時(24小時制):分:秒
    YYYY/MM/DD HH:MI:SS -- 年/月/日 時(非24小時制):分:秒
    J -- Julian day,Bc 4712/01/01 為1
    RR/MM/DD -- 公元2000問題-- 00-49 = 下世紀;50-99 = 本世紀
    */
    
    select to_char(sysdate,'YYYY/MM/DD') FROM DUAL; -- 2007/09/20
    select to_char(sysdate,'YYYY') FROM DUAL; -- 2007
    select to_char(sysdate,'YYY') FROM DUAL; -- 007
    select to_char(sysdate,'YY') FROM DUAL; -- 07
    select to_char(sysdate,'MM') FROM DUAL; -- 09
    select to_char(sysdate,'DD') FROM DUAL; -- 20
    select to_char(sysdate,'D') FROM DUAL; -- 5
    select to_char(sysdate,'DDD') FROM DUAL; -- 263
    select to_char(sysdate,'WW') FROM DUAL; -- 38
    select to_char(sysdate,'W') FROM DUAL; -- 3
    select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') FROM DUAL; -- 2007/09/20 15:24:13
    select to_char(sysdate,'YYYY/MM/DD HH:MI:SS') FROM DUAL; -- 2007/09/20 03:25:23
    select to_char(sysdate,'J') FROM DUAL; -- 2454364
    select to_char(sysdate,'RR/MM/DD') FROM DUAL; -- 07/09/20 
                                --http://blog.sina.com.cn/s/blog_73e1106501013fzw.html
    Tty725 说:
    欢迎转载,但请注明内容的来源或URL;
    [转]”篇章,必须保留原始来源且勿添加本blog指向。
  • 相关阅读:
    对于有API接口数据的监测
    网站、域名、IP、URL、URI、IRI
    面向对象总结
    封装示例:游戏开发
    面向对象基础2
    继承与多态
    如何引用第三方同级以及不同级目录下的的py文件
    Weblogic常见报错以及解决方法
    深度解读企业云上办公利器「无影云电脑」
    java根据模板导出pdf
  • 原文地址:https://www.cnblogs.com/Tty725/p/6092603.html
Copyright © 2020-2023  润新知