用得着存储过程吗? select ceil((date1-date2)*24*60) from tbname;
用round函数:函数:取分钟数 create or replace function GetMinute(StartTime date,EndTime date) begin return (round((EndTime-StartTime)/60));
end;过程调用 create or replace procedure test v_StartTime date; v_EndTime date; v_分钟数 integer; begin select StartTime into v_StartTime from .. ; select EndTime into v_EndTime from ....; v_分钟数 := GetMinute(v_StartTime,v_EndTime); .... end;
round()是四舍五入,不符合要求。
create or replace procedure p(s_time in date,e_time in date,c_time out number) as begin select ceil((e_time-s_time)*24*60) into c_time from dual; dbms_output.put_line(to_char(c_time)); return; end;
create or replace procedure p v_starttime date; v_endtime date; v_resulttime number; v_rowid varchar2(100); cursor c_t is select StartTime,EndTime,rowid from tab; as begin open c_t; fetch c_t into v_starttime,v_endtime,v_rowid; loop if c_t%found then select ceil((v_starttime-v_endtime)*24*60) into v_resulttime from dual; update tab set '列'=v_resulttime where rowid=v_rowid; commit; end if; fetch c_t into v_starttime,v_endtime; end loop;
select ceil((date1-date2)*24*60) from tbname;
create or replace function GetMinute(StartTime date,EndTime date)
begin
return (round((EndTime-StartTime)/60));
end;过程调用
create or replace procedure test
v_StartTime date;
v_EndTime date;
v_分钟数 integer;
begin
select StartTime into v_StartTime from .. ;
select EndTime into v_EndTime from ....;
v_分钟数 := GetMinute(v_StartTime,v_EndTime);
....
end;
as
begin
select ceil((e_time-s_time)*24*60) into c_time from dual;
dbms_output.put_line(to_char(c_time));
return;
end;
v_starttime date;
v_endtime date;
v_resulttime number;
v_rowid varchar2(100);
cursor c_t is select StartTime,EndTime,rowid from tab;
as
begin
open c_t;
fetch c_t into v_starttime,v_endtime,v_rowid;
loop
if c_t%found then
select ceil((v_starttime-v_endtime)*24*60) into v_resulttime from dual;
update tab set '列'=v_resulttime where rowid=v_rowid;
commit;
end if;
fetch c_t into v_starttime,v_endtime;
end loop;
end;