select next_day(add_months(trunc(sysdate,'yyyy'),rownum-1),1)+2 from dual connect by rownum<13;
--上面錯了,這個 select next_day(add_months(trunc(sysdate,'yyyy'),rownum-1),1) +decode(next_day(add_months(trunc(sysdate,'yyyy'),rownum-1),1),add_months(trunc(sysdate,'yyyy'),rownum-1)+7,-5,2) from dual connect by rownum<13;
select next_day(add_months(trunc(sysdate,'yyyy'),rownum-1),1)+2 from dual connect by rownum<13;
--上面錯了,這個
select next_day(add_months(trunc(sysdate,'yyyy'),rownum-1),1)
+decode(next_day(add_months(trunc(sysdate,'yyyy'),rownum-1),1),add_months(trunc(sysdate,'yyyy'),rownum-1)+7,-5,2)
from dual connect by rownum<13;
select c1
from
(
select to_date(2012||'-01-01','yyyy-mm-dd')+level c1
from dual
connect by level < 366
)
where to_char(c1,'w') = 2 and to_char(c1,'d') = 3
c1
---------------------
1 2012/1/10
2 2012/2/14
3 2012/3/13
4 2012/4/10
5 2012/5/8
6 2012/6/12
7 2012/7/10
8 2012/8/14
9 2012/9/11
10 2012/10/9
11 2012/11/13
12 2012/12/11