这个存储过程主要是想实现输入两个参数:
开始时间、结束时间(精确到日)
那么经过存储过程的运算,能最终得到一个从开始时间
到结束时间之间所有日期的结果集出来。
比如,
输入 2008-08-08 , 2008-08-12
那么,
结果应该是
DATE
-------
2008-08-09
2008-08-10
2008-08-11望高手指点迷津!给些思路。
开始时间、结束时间(精确到日)
那么经过存储过程的运算,能最终得到一个从开始时间
到结束时间之间所有日期的结果集出来。
比如,
输入 2008-08-08 , 2008-08-12
那么,
结果应该是
DATE
-------
2008-08-09
2008-08-10
2008-08-11望高手指点迷津!给些思路。
解决方案 »
- ora-12514错误怎么解决啊
- 安装oracle双机rac后的共享磁盘中能运行.net程序吗?
- 如何删除hash分区
- 怎样查出两条信息,一条id是固定的,另一条id要根据登陆的用户判断
- 怎么合并两个表
- 动态SQL遇到的问题,在线等,急
- 怎么将数据插入到 oracle92中表分区中呢?
- java.sql.recordset 在Oracle中对应的类型是什么?
- 求救!我从网上下载了TOAD7.3。装上之后,进入界面时需要序列号。帮忙给个序列号了。
- 高手请写一下如何建oracle job,dblink,snapshot,和刷新snapshot的语句!!!
- 如何对Oracle大字段进行like查找
- JSP连接ORACLE双机有时出现异常
with t as (
select to_date('2008-08-08') d from dual
union
select to_date('2008-08-12') from dual
)
select t0.d
from (select d start_d ,lead(d,1,d+1) over (order by d) end_d from t) t,
(select r+min_d d
from (select min(d) min_d from t),
(select rownum-1 r
from all_objects
where rownum <=(select (max(trunc(d))-min(trunc(d))+1) from t)) ) t0
where t0.d>t.start_d and t0.d <t.end_d
order by 1;
2 connect by rownum<=to_date('20080315','yyyymmdd')-to_date('20080312','yyyymmdd')
3 /
TO_DATE('20080312','YYYYMMDD')
------------------------------
2008/3/13
2008/3/14
2008/3/15
SQL> 僅供參考!
你试试在sqlplus下执行。
很早就看过这个语句,但一直不清楚connect by为什么会产生这种效果?