create procedure pro
as
begin
...;
end;
/
declare
jobno number;
begin
dbms_job.submit(jobno,'pro;',sysdate,'sysdate+0.5/24');
commit;
end;
/

解决方案 »

  1.   

    如果要系统每间隔半小时自动计算一次.那就使用JOB, 如果自己手动执行,可以写个函数或过程.传开始时间和结束时间两个参数来处理.
      

  2.   

    各位老大我意思是直接用SQL把一天数据,按每隔半小时的条件统计出来!
    用between tim='8:00' and tim='8:30'一个个写,太麻烦!
    想请教简便的方法,不是用存储过程。
      

  3.   

    --希望这个能对你有点帮助:
    select to_char(to_date('2004-07-27 00:00','YYYY-MM-DD HH24:MI:SS')
     +0.5*(ROWNUM-1)/24,'HH24:MI') as date1,
    to_char(to_date('2004-07-27 00:00','YYYY-MM-DD HH24:MI:SS')
     +0.5*(ROWNUM)/24,'HH24:MI') as date2
    from sys.all_tab_cols
    where rownum <=48;
    /*DATE1 DATE2
    ----- -----
    00:00 00:30
    00:30 01:00
    01:00 01:30
    01:30 02:00
    02:00 02:30
    02:30 03:00
    03:00 03:30
    03:30 04:00
    04:00 04:30
    04:30 05:00
    05:00 05:30
    05:30 06:00
    06:00 06:30
    06:30 07:00
    07:00 07:30
    07:30 08:00
    08:00 08:30
    08:30 09:00
    09:00 09:30
    09:30 10:00
    10:00 10:30
    10:30 11:00
    11:00 11:30
    11:30 12:00
    12:00 12:30
    12:30 13:00
    13:00 13:30
    13:30 14:00
    14:00 14:30
    14:30 15:00
    15:00 15:30
    15:30 16:00
    16:00 16:30
    16:30 17:00
    17:00 17:30
    17:30 18:00
    18:00 18:30
    18:30 19:00
    19:00 19:30
    19:30 20:00
    20:00 20:30
    20:30 21:00
    21:00 21:30
    21:30 22:00
    22:00 22:30
    22:30 23:00
    23:00 23:30
    23:30 00:00已选择48行。
    */
      

  4.   

    select 
    from tablename 
    group by to_char(tim,'YYYY-MM-DD hh24:')||
    decode(sign(to_char(tim,'mi')-30),1,'30',0,'0',-1,'0')
      

  5.   

    同意 cuilk(clk)。
    可能顶楼的想按每半小时进行分组统计;