SELECT Initcap(TRIM(To_Char(Dat, 'month'))) || ', ' || To_Char(SYSDATE, 'yyyy') MONTH, MAX(Decode(To_Char(Dat, 'd'), 2, To_Char(Dat, 'dd'))) Mon, MAX(Decode(To_Char(Dat, 'd'), 3, To_Char(Dat, 'dd'))) Tue, MAX(Decode(To_Char(Dat, 'd'), 4, To_Char(Dat, 'dd'))) Wed, MAX(Decode(To_Char(Dat, 'd'), 5, To_Char(Dat, 'dd'))) Thu, MAX(Decode(To_Char(Dat, 'd'), 6, To_Char(Dat, 'dd'))) Fri, MAX(Decode(To_Char(Dat, 'd'), 7, To_Char(Dat, 'dd'))) Sat, MAX(Decode(To_Char(Dat, 'd'), 1, To_Char(Dat, 'dd'))) Sun FROM (SELECT Trunc(SYSDATE, 'y') + Rownum - 1 Dat, To_Char(Trunc(SYSDATE, 'y') + Rownum - 1, 'iw') Woy FROM All_Objects --可以换成ALL_OBJECT WHERE Rownum <= (Add_Months(Trunc(SYSDATE, 'y'), 12) - Trunc(SYSDATE, 'y'))) GROUP BY To_Char(Dat, 'month'), Woy, To_Char(Dat, 'mm') ORDER BY To_Char(Dat, 'mm'), 8;