piliskys

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            25 隨筆 :: 0 文章 :: 40 評論 :: 0 Trackbacks
          <2005年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          公告

              自我介紹
          I love java&oracle!
          I love itpub&javaeye!
          I love struts&hibernate!

                               piliskys

          常用鏈接

          留言簿(1)

          我參與的團隊

          隨筆分類

          隨筆檔案

          Java&Oracle

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          問題:查出在2001年5年到2004年1月的所有年月格式為yyyymm(其實也是別人問到我這樣一個相關的問題)
          select to_char(to_date('200105','yyyymm'),'yyyy')+ b.bb||'00'+a.aa  ff
               
          from 
              (
          select level aa from dual connect by 1=1 and level <13 ) a, 
              (
          select level-1 bb from dual connect by 1=1 and level <=
              (to_char(to_date(
          '200402','yyyymm'),'yyyy'- to_char(to_date('200105','yyyymm'),'yyyy')+1)  ) b
              
          where  to_char(to_date('200105','yyyymm'),'yyyy')+ b.bb||'00'+a.aa  >='200105'
              
          and to_char(to_date('200105','yyyymm'),'yyyy')+ b.bb||'00'+a.aa  <='200402'

          不用其它表,就可以構造出一個時間表來,注意:connect by據說只支持oracle 9i 及以上
          posted on 2005-11-23 17:44 霹靂火 閱讀(517) 評論(1)  編輯  收藏 所屬分類: oracle數據庫

          評論

          # re: connect by構建時間段表 2005-11-24 09:51 霹靂火
          select * from (
          select to_char(add_months(to_date('200501','yyyymm'), rownum), 'yyyymm') from dual
          connect by rownum<months_between(to_date('200512','yyyymm'),to_date('200501','yyyymm')));
          發現別人一種寫法更好  回復  更多評論
            

          主站蜘蛛池模板: 临澧县| 桓仁| 满城县| 莱州市| 天台县| 栾城县| 宁阳县| 安康市| 轮台县| 莫力| 唐河县| 垫江县| 蓬溪县| 麻城市| 晋江市| 池州市| 拜泉县| 高阳县| 旬阳县| 宁津县| 常山县| 大姚县| 乐安县| 教育| 邹城市| 邯郸市| 来凤县| 平罗县| 浙江省| 马山县| 郎溪县| 江门市| 新巴尔虎左旗| 社旗县| 凤冈县| 天柱县| 吐鲁番市| 柳河县| 洞头县| 卢龙县| 天气|