循环某一个月的所有日期
Declare
l_i int:=0;
l_j int:=10;
l_date date:=trunc(sysdate, 'mm');
Begin
select (add_months(trunc(sysdate, 'mm'),1) - trunc(sysdate, 'mm')) into l_j from dual;
while l_i<l_j loop
dbms_output.put_line(l_date);
l_i:=l_i+1;
l_date:=l_date+1;
end loop;
End;
结果:
2011-10-01 00:00:00
2011-10-02 00:00:00
2011-10-03 00:00:00
2011-10-04 00:00:00
2011-10-05 00:00:00
2011-10-06 00:00:00
2011-10-07 00:00:00
2011-10-08 00:00:00
2011-10-09 00:00:00
2011-10-10 00:00:00
2011-10-11 00:00:00
2011-10-12 00:00:00
2011-10-13 00:00:00
2011-10-14 00:00:00
2011-10-15 00:00:00
2011-10-16 00:00:00
2011-10-17 00:00:00
2011-10-18 00:00:00
2011-10-19 00:00:00
2011-10-20 00:00:00
2011-10-21 00:00:00
2011-10-22 00:00:00
2011-10-23 00:00:00
2011-10-24 00:00:00
2011-10-25 00:00:00
2011-10-26 00:00:00
2011-10-27 00:00:00
2011-10-28 00:00:00
2011-10-29 00:00:00
2011-10-30 00:00:00
2011-10-31 00:00:00