先说明下,最近在补下Oracle,去外链网址已屏蔽逛了下,做了点笔记,现在我把我做的笔记分享下,内容很基础,希望对大家有用,本文不算原创,目的只是分享知识。分享快乐,谢谢。
下面的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 d