for i in 0..23
loop
c_date:=to_date(p_indate||' '|| i,'yyyymmdd HH24');
end loop;

解决方案 »

  1.   

    SQL> create or replace function f_date(c_year varchar2,c_hour varchar2)
      2  return varchar2 is
      3  c_date date;
      4  begin
      5  c_date:=to_date(c_year||' '||c_hour,'yyyymmdd hh24');
      6  return to_char(c_date,'yyyymmdd hh24');
      7  end;
      8  /Function created.SQL> select f_date('20030101','00') from dual;F_DATE('20030101','00')
    -----------------------------------------------------------------------------
    20030101 00SQL>
      

  2.   

    p_hour从0->23'acurr'||p_hour 能得到 acurr0,acurr1,acurr2...么?????
      

  3.   

    SQL> declare
      2    c_date date;
      3  begin
      4    for i in 0..23 loop
      5    c_date:=to_date(to_char(sysdate,'yyyymmdd')||i,'yyyymmddHH24');
      6    end loop;
      7  end;
      8  /PL/SQL procedure successfully completed