1)Write a single SELECT statement that would output a calendar for the current month in a traditional tabular format (7 columns: Sun-Sat).
su mo tu wed thu fri sat
1 2 3 4 5 6 7
.
.
.
......................30
Help me.
SQL> define my_date = 12-JAN-16
SQL>
SQL> select
2 max(decode(dow,1,d,null)) Sun,
3 max(decode(dow,2,d,null)) Mon,
4 max(decode(dow,3,d,null)) Tue,
5 max(decode(dow,4,d,null)) Wed,
6 max(decode(dow,5,d,null)) Thu,
7 max(decode(dow,6,d,null)) Fri,
8 max(decode(dow,7,d,null)) Sat
9 from
10 ( select rownum d
11 ,rownum-2+to_number(to_char(trunc(to_date('&my_date'),'MM'),'D')) p
12 ,to_char(trunc(to_date('&my_date'),'MM') -1 + rownum,'D') dow
13 from dual
14 connect by level <=
15 to_number(to_char(last_day(to_date('&my_date')),'DD'))
16 )
17 group by trunc(p/7)
18 order by trunc(p/7);
SUN MON TUE WED THU FRI SAT
---------- ---------- ---------- ---------- ---------- ---------- ----------
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31