选择创建每月增量条目表的查询
Posted
技术标签:
【中文标题】选择创建每月增量条目表的查询【英文标题】:Select query that creates a table of monthly incremental entries 【发布时间】:2012-05-08 01:41:47 【问题描述】:我需要能够使用选择查询以某种方式生成一个条目列表,该列表由两个变量 STARTDATE 和 ENDDATE 的每月增量组成。一个示例如下所示:
从表中获取 STARTDATE 和 ENDDATE
STARTDATE ENDDATE
----------- -----------
01-JAN-2011 1-DEC-2011
导致
CALENDAR
---------
01-JAN-11
01-FEB-11
01-MAR-11
01-APR-11
01-MAY-11
01-JUN-11
01-JUL-11
01-AUG-11
01-SEP-11
01-OCT-11
01-NOV-11
01-DEC-11
关于如何做到这一点的任何想法?有人告诉我一种名为“CONNECT BY”的方法,但它不适用于闰年之类的。
谢谢。
【问题讨论】:
【参考方案1】:这样的东西应该可以工作
SQL> ed
Wrote file afiedt.buf
1 with x as (
2 select date '2011-01-01' start_date,
3 date '2011-12-01' end_date
4 from dual
5 )
6 select add_months( start_date, level-1 )
7 from x
8* connect by level <= months_between( end_date, start_date ) + 1
SQL> /
ADD_MONTH
---------
01-JAN-11
01-FEB-11
01-MAR-11
01-APR-11
01-MAY-11
01-JUN-11
01-JUL-11
01-AUG-11
01-SEP-11
01-OCT-11
01-NOV-11
01-DEC-11
12 rows selected.
【讨论】:
以上是关于选择创建每月增量条目表的查询的主要内容,如果未能解决你的问题,请参考以下文章
Python DataFrame 从每日数据中选择每月增量的行