`
53873039oycg
  • 浏览: 840175 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

借花献佛之Oracle得到连续的日期

阅读更多

      先说明下,最近在补下Oracle,去http://www.itpub.net/逛了下,做了点笔记,现在我把我做的笔记分享下,内容很基础,希望对大家有用,本文不算原创,目的只是分享知识。分享快乐,谢谢。

 

     下面的SQL在Oracle 10.2.0.1上面测试通过。

     (一)已知2个日期,希望显示这2个日期的每一天(包含起始日期)

   

SELECT TO_DATE('20130801', 'yyyymmdd') + LEVEL - 1
  FROM DUAL
CONNECT BY LEVEL <= FLOOR(TO_DATE('20130811', 'yyyymmdd') -
                          TO_DATE('20130801', 'yyyymmdd')) + 1;

    如果希望参数自己输入,可以这样。

  

SELECT TO_DATE('&1', 'yyyymmdd') + LEVEL - 1
  FROM DUAL
CONNECT BY LEVEL <= FLOOR(TO_DATE('&2', 'yyyymmdd') -
                          TO_DATE('&1', 'yyyymmdd')) + 1;

    下面的可以自己替换,我就不替换了

 

    (二)给定起始日期,和一个数字n,显示n个yyyy-mm

  

select to_char(add_months(date '2013-1-1', level - 1), 'yyyy-mm') months
  from dual
connect by level <= 12;

    也可以这样。

   

select &year || '-' || lpad(rownum, 2, '0') yyyymm
  from dual
connect by rownum <= 12

 

    (三)给定起始日期,和一个数字n,显示n个yyyy-mm-dd

   

select to_char(add_months(date '2013-1-29', level - 1), 'yyyy-mm-dd') months
  from dual
connect by level <= 12;

  

    (四)给定年份,显示一年的日期

   

SELECT trunc(to_date('&1', 'yyyy'), 'year') + LEVEL - 1
  FROM dual
CONNECT BY level <=
           add_months(last_day(trunc(to_date('&1', 'yyyy'), 'year')), 11) -
           trunc(to_date('&1', 'yyyy'), 'year') + 1;

  

    (五)显示的时候要显示星期几

  

select to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'yyyy-mm-dd') dt,
       to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'day') day,
       to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'iw') weeks
  from dual
CONNECT BY level <=
           add_months(last_day(trunc(to_date('2014-01-01', 'yyyy-mm-dd'), 'year')), 11) -
           trunc(to_date('2014-01-01', 'yyyy-mm-dd'), 'year') + 1;

  

    (六)显示的时候不显示周六周末

  

select to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'yyyy-mm-dd') dt,
       to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'day') day,
       to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'iw') weeks
  from dual
  where to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1,'d') not in (7, 1)
CONNECT BY level <=
           add_months(last_day(trunc(to_date('2014-01-01', 'yyyy-mm-dd'), 'year')), 11) -
           trunc(to_date('2014-01-01', 'yyyy-mm-dd'), 'year') + 1;

  

    (七)显示的时候只显示周六周末

  

select to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'yyyy-mm-dd') dt,
       to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'day') day,
       to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'iw') weeks
  from dual
  where to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1,'d')  in (7, 1)
CONNECT BY level <=
           add_months(last_day(trunc(to_date('2014-01-01', 'yyyy-mm-dd'), 'year')), 11) -
           trunc(to_date('2014-01-01', 'yyyy-mm-dd'), 'year') + 1;

 

   (八)改主意了,想自己限定开始结束日期,还是要显示星期几

 

select to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'yyyy-mm-dd') dt,
       to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'day') day,
       to_char(to_date('2014-01-01', 'yyyy-mm-dd') + level - 1, 'iw') weeks
  from dual
CONNECT BY level <=
           FLOOR(to_date('2014-03-01', 'yyyy-mm-dd') -to_date('2014-01-01', 'yyyy-mm-dd')) + 1;

  

     笔记记录结束,希望对大家有用,谢谢

   

     全文完。

 

 

0
1
分享到:
评论

相关推荐

    sqlPpt借花献佛之作

    在“sqlPpt借花献佛之作”这个主题中,我们可以期待一个详细讲解SQL的PowerPoint演示文稿,它可能是某位作者整理的关于SQL的学习资料,旨在帮助初学者或有一定基础的学习者深入理解和掌握SQL。 在PowerPoint演示...

    2015高考语文满分作文36计之借花献佛:巧用诗词增文采素材

    标题和描述中提到的"2015高考语文满分作文36计之借花献佛:巧用诗词增文采素材",主要指的是在语文作文中巧妙运用诗词以提升文章的文化内涵和语言魅力。这是一种有效的写作技巧,尤其适用于高考语文作文,能够帮助...

    借花献佛的成语接龙.doc

    借花献佛的成语接龙.doc

    很不错的信息系统工程师考试资料 借花献佛

    很不错的信息系统工程师考试资料 借花献佛了

    论文模版-借花献佛大规模

    ### 论文模版-借花献佛大规模 #### 关键知识点提炼: 1. **信息技术与网络技术的发展:** - 20世纪90年代以来,信息技术与网络技术的快速发展成为了全球关注的焦点。 - Internet技术的进步改变了资源获取、拥有...

    自治成功的stk500-借花献佛

    标题“自治成功的stk500-借花献佛”表明我们即将探讨的是关于STK500开发板在实现自我控制方面取得成功的一个项目或教程。STK500是Atmel公司推出的一种通用的AVR微控制器开发平台,常用于进行AVR系列芯片的编程、调试...

    Flex教程系列之(五) AS3语法——静态常量继承和接口

    我只是借花献佛。 Flex教程系列之(一) AS3语法——编程基础 http://download.csdn.net/source/1161756 Flex教程系列之(二) AS3语法——流程控制语句 http://download.csdn.net/source/1161804 Flex教程系列之...

    Flex教程系列之(四) AS3语法——面对对象编程

    我只是借花献佛。 Flex教程系列之(一) AS3语法——编程基础 http://download.csdn.net/source/1161756 Flex教程系列之(二) AS3语法——流程控制语句 http://download.csdn.net/source/1161804 Flex教程系列之...

    神经网络入门-神经网络入门.pdf

    感谢strongbox的辛勤劳动,连续发了6期神经网络入门,使我受益匪浅,同时我也产生一个想法,如果把这6期做成一个pdf文档,就可以方便更多的人。正好论坛里也有很多这样的呼声,所以本人借花献佛,用了一个小时(跟...

    09年系统集成工程师试题

    09年系统集成工程师试题,借花献佛!大家共享!

    stm8sTIME定时中断

    我找了很久才找到这方面的...借花献佛!版权属原作者! * @文件名 : main.c * @作者 : strongerHuang * @库版本 : V2.2.0 * @文件版本 : V1.0.0 * @日期 : 2017年04月10日 * @摘要 : 主函数 - Demo软件工程

    佛教日历(超级精美)

    佛历软件,谢谢高手的分享,借花献佛,希望大家喜欢。

    DUGIHACK工具包

    网上大神的工具,借花献佛,如有侵权,联系删除,谢谢

    Apache CXF Web service 资料

    详细的从入门到精通, 手把手的教你做WEB SERVICE 该资源借花献佛,是一个高手写的,我在这里借花献佛,推广推广,让大家多一个学习的机会,吃水不忘挖井人,轻大家也谢谢写该文档的高手

    金蝶K3产品性能稳定性优化指导手册

    金蝶K3产品性能稳定性优化指导手册,广大使用者的必备手册,免费下载,借花献佛

    白名单工具

    结合上面的教程和方法一起使用希望对大家有所帮助,借花献佛了,多谢支持!

    一层链接的网页设计,很美的

    这个设计名字叫做花样年华,是朋友做出来的,我借花献佛,贡献一下。

    学习OpenCV(中文版)

    学习opencv的中文版,版本较老了,接口差不多。我给添加了目录,借花献佛。

Global site tag (gtag.js) - Google Analytics