Oracle中利用SQL语句显示本月日历

select max(decode(dow, 1, d, null)) Sun,  
       max(decode(dow, 2, d, null)) Mon,  
       max(decode(dow, 3, d, null)) Tue,  
       max(decode(dow, 4, d, null)) Wed,  
       max(decode(dow, 5, d, null)) Thu,  
       max(decode(dow, 6, d, null)) Fri,  
       max(decode(dow, 7, d, null)) Sat  
  from (select rownum d,  
               rownum - 2 +  
               to_number(to_char(trunc(sysdate, 'MM'), 'D')) p,  
               to_char(trunc(sysdate, 'MM') -1 + rownum, 'D') dow  
          from all_objects  
         where rownum <=  
               to_number(to_char(last_day(to_date(sysdate)), 'DD')))  
 group by trunc(p / 7)
相关文章
相关标签/搜索