當前年所有日期sql語句:
SELECT TRUNC(SYSDATE, 'yyyy') + ROWNUM - 1 as ALL_YEAR_DATE_ FROM DUAL CONNECT BY ROWNUM <= 365;
當前月所有日期sql語句:
寫法①:select level,to_char(trunc(to_date('2015-12','yyyy-mm'))+level-1,'yyyy-mm-dd') as dat from dual
connect by level <=last_day(to_date('2015-12','yyyy-mm'))-trunc(to_date('2015-12','yyyy-mm'))+1;
寫法②:select TRUNC(sysdate, 'MM') + ROWNUM - 1 as ALL_MONTH_DATE_ from DUAL connect by ROWNUM <= TO_NUMBER(TO_CHAR(LAST_DAY(sysdate), 'dd'));
假如當前2月份,查詢結果:
1 2019/2/1
2 2019/2/2
3 2019/2/3
4 2019/2/4
5 2019/2/5
6 2019/2/6
7 2019/2/7
8 2019/2/8
9 2019/2/9
10 2019/2/10
11 2019/2/11
12 2019/2/12
13 2019/2/13
14 2019/2/14
15 2019/2/15
16 2019/2/16
17 2019/2/17
18 2019/2/18
19 2019/2/19
20 2019/2/20
21 2019/2/21
22 2019/2/22
23 2019/2/23
24 2019/2/24
25 2019/2/25
26 2019/2/26
27 2019/2/27
28 2019/2/28
查詢近1個月所有日期sql語句:
select TRUNC(ADD_MONTHS(sysdate, -1)) + ROWNUM - 1 as DAYLIST from DUAL connect by ROWNUM <= TRUNC(sysdate) - TRUNC(ADD_MONTHS(sysdate, -1));
假如當前日期2019/1/19,查詢結果:
1 2019/1/19
2 2019/1/20
3 2019/1/21
4 2019/1/22
5 2019/1/23
6 2019/1/24
7 2019/1/25
8 2019/1/26
9 2019/1/27
10 2019/1/28
11 2019/1/29
12 2019/1/30
13 2019/1/31
14 2019/2/1
15 2019/2/2
16 2019/2/3
17 2019/2/4
18 2019/2/5
19 2019/2/6
20 2019/2/7
21 2019/2/8
22 2019/2/9
23 2019/2/10
24 2019/2/11
25 2019/2/12
26 2019/2/13
27 2019/2/14
28 2019/2/15
29 2019/2/16
30 2019/2/17
31 2019/2/18
查詢近1年所有月份sql語句:
select TO_CHAR(ADD_MONTHS(sysdate, ROWNUM), 'yyyy-mm') from DUAL connect by ROWNUM <= 12;
假如當前2月份,查詢結果:
1 2019-03
2 2019-04
3 2019-05
4 2019-06
5 2019-07
6 2019-08
7 2019-09
8 2019-10
9 2019-11
10 2019-12
11 2020-01
12 2020-02