17,086
社区成员
发帖
与我相关
我的任务
分享
--转换成X月X日
SELECT ltrim(to_char(LEVEL + DATE '2009-03-01' - 1, 'mm'), '0') || '月' ||
ltrim(to_char(LEVEL + DATE '2009-03-01' - 1, 'dd'), '0') || '日'
FROM dual
CONNECT BY LEVEL < DATE '2009-03-10' - DATE '2009-03-01' + 2;
OPER@XE> create or replace procedure test_p(vd1 varchar2,vd2 varchar2)
2 as
3 get_date1 date;
4 get_date2 date;
5 cnt number;
6 begin
7 get_date1:=to_date(vd1,'yyyymmdd')+1;
8 get_date2:=to_date(vd2,'yyyymmdd')-1;
9 cnt:=trunc(get_date2-get_date1);
10 for i in 0..cnt loop
11 dbms_output.put_line(get_date1+i);
12 end loop;
13 end;
14 /
过程已创建。
OPER@XE> exec test_p('20100301','20100305')
2010-03-02
2010-03-03
2010-03-04
PL/SQL 过程已成功完成。
--开始日期 '2009-03-01'
--结束日期 '2009-03-10'
SELECT LEVEL + DATE '2009-03-01' - 1
FROM dual
CONNECT BY LEVEL < DATE '2009-03-10' - DATE '2009-03-01' + 2;