--利用循环生成本月内每天的日期
INSERT INTO TMP_DATE
(
Summ_Date
)
SELECT TRUNC(to_date('20110301','yyyymmdd'),'MM')
FROM DUAL
UNION ALL
SELECT TRUNC(to_date('20110301','yyyymmdd'),'MM') + ROWNUM
FROM DUAL
CONNECT BY ROWNUM <= (LAST_DAY(to_date('20110301','yyyymmdd')) - TRUNC(to_date('20110301','yyyymmdd'),'MM'))
;
总结1:首先对 TRUNC(to_date('20110301','yyyymmdd'),'MM') 的总结.
以下来自百度百科:
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 );
作用:列出所有日期及星期几,可用于查询工作日
这个怎么实现的,原理位置.但是,他可以自动搜索出 一年的所有日期对应的 星期数. 这个应该在需要用到星期的时候很有用.