• Oracle 计算两个日期之间的月份数_月份列表_天数_日期列表


    获取日期之间的月数(包括自身)

    第一种:
    select
    (MONTHS_BETWEEN ( TRUNC(TO_DATE('2018-08-01','YYYY-MM-DD'),'MONTH'), TRUNC(TO_DATE('2018-05-30','YYYY-MM-DD'),'MONTH') ) + 1) MONTH_COUNT
    from dual;
     
    第二种:
     
    select
    (MONTHS_BETWEEN ( to_date(to_char(sysdate,'yyyy-MM'),'yyyy-MM'), to_date(to_char(to_date('2019-06-30','yyyy-MM-dd'),'yyyy-MM'),'yyyy-MM') ) + 1) MONTH_COUNT
    from dual;

    获取日期之间的月份列表(包括自身)

     
     
    select
    TO_CHAR(ADD_MONTHS(TO_DATE('2019-08-01','YYYY-MM-DD'),(ROWNUM - 1)), 'yyyy-mm') MOHTN_ID
    from
    dual CONNECT BY ROWNUM <= MONTHS_BETWEEN ( TRUNC(TO_DATE('2020-01-01','YYYY-MM-DD'),'MONTH'), TRUNC(TO_DATE('2019-08-01','YYYY-MM-DD'),'MONTH') ) + 1;
     
    结果: MOHTN_ID
        2019-08
        2019-09
        2019-10
        2019-11
        2019-12
        2020-01

    获取日期之间的天数、日期列表(包含自身)

     
    SELECT
    TO_CHAR(TO_DATE('2018-01-28', 'YYYY-MM-DD') + ROWNUM - 1, 'YYYY-MM-DD') DAY_ID
    FROM
    DUAL CONNECT BY ROWNUM <= TO_DATE('2018-02-04', 'YYYY-MM-DD') - TO_DATE('2018-01-28', 'YYYY-MM-DD') + 1;
    结果: DAY_ID
        2018-01-28
        2018-01-29
        2018-01-30
        2018-01-31
        2018-02-01
        2018-02-02
        2018-02-03
        2018-02-04
     
     
     

    版权声明: 本文由  ```...裥簞點 发表于 全栈九九六博客

    转载声明: 可自由转载、引用,但需要属名作者且注明文章出处。

    文章链接: https://www.blog996.com/

     
     
     
     
     
     
     

  • 相关阅读:
    Codeforces 938G(cdq分治+可撤销并查集+线性基)
    codeforces 938F(dp+高维前缀和)
    寒武纪camp Day6
    寒武纪camp Day5
    寒武纪camp Day4
    bzoj4161 (k^2logn求线性递推式)
    loj10003加工生产调度
    loj10002喷水装置
    loj10001种树
    bzoj1023
  • 原文地址:https://www.cnblogs.com/yysbolg/p/15009058.html
Copyright © 2020-2023  润新知