1. 程式人生 > >Oracle 獲取時間段內的所有周

Oracle 獲取時間段內的所有周

ORACLE時間操作(獲取周)

ORCLE獲取時間段內的所有周(包括週一日期,週日日期,該年的第幾周)

首先要獲取一段時間內的所有日期,然後再獲取時間段內的每個週一,週日,第幾周。

案例程式碼

例如下面程式碼,下面的2017-03-02為開始日期,2017-05-02為結束日期:

SELECT TRUNC(to_DATE('2017-03-02', 'YYYY-MM-DD') + (ROWNUM - 1) * 7, 'D') + 1 AS 週一,
       TRUNC(to_DATE('2017-03-02', 'YYYY-MM-DD') + (ROWNUM - 1) * 7, 'D'
) + 7 AS 週日, TO_CHAR(to_DATE('2017-03-02', 'YYYY-MM-DD') + (ROWNUM - 1) * 7, 'IW') AS 第幾周 FROM DUAL CONNECT BY ROWNUM <= TRUNC(to_DATE('2017-5-02', 'YYYY-MM-DD') - to_DATE('2017-03-02', 'YYYY-MM-DD')) / 7 + 1