CONNECT BY用法

--//一行SELECT顯示0~9~A~Z
 select n, chr(mod(n,36)+case when mod(n,36) < 10 then 48 else 55 end) d
  from (Select rownum-1 as n from dual connect by level < 37);

--//顯示日期與星期
Select To_Date(2008 || '0101', 'yyyymmdd') + Rownum - 1 Rq,
       To_Char(To_Date(2008 || '0101', 'yyyymmdd') + Rownum - 1, 'day') Day
  From (Select Rownum
          From Dual
        Connect By Rownum <= To_Date(2008 || '1231', 'yyyymmdd') -
                   To_Date(2008 || '0101', 'yyyymmdd') + 1);

--//取一個月的日期
Select (To_Date(2012 || '1101', 'yyyymmdd') + Rownum - 1) As everyday
  From Dual
Connect By Rownum <= Last_Day(To_Date(2012 || '1101', 'yyyymmdd')) -

           To_Date(2012 || '1101', 'yyyymmdd') + 1;

留言

這個網誌中的熱門文章