create procedure pro
as
begin
...;
end;
/
declare
jobno number;
begin
dbms_job.submit(jobno,'pro;',sysdate,'sysdate+0.5/24');
commit;
end;
/
as
begin
...;
end;
/
declare
jobno number;
begin
dbms_job.submit(jobno,'pro;',sysdate,'sysdate+0.5/24');
commit;
end;
/
用between tim='8:00' and tim='8:30'一个个写,太麻烦!
想请教简便的方法,不是用存储过程。
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行。
*/
from tablename
group by to_char(tim,'YYYY-MM-DD hh24:')||
decode(sign(to_char(tim,'mi')-30),1,'30',0,'0',-1,'0')
可能顶楼的想按每半小时进行分组统计;