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

 

 
 
 
 
 
 
 
 
 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章