coba function ini :
CREATE OR REPLACE FUNCTION Hit_jam(awal in date default sysdate,akhir in
date default sysdate) RETURN VARCHAR2 is
total_dtk_akhir number;
total_dtk_awal number;
total_dtk number;
jam number;
mnt1 number;
mnt number;
dtk number;
beda varchar2(200);
Begin
total_dtk_akhir:=(to_number(to_char(akhir,'hh24'))*60*60)+(to_number(to_char(akhir,'mi'))*60)+
(to_number(to_char(akhir,'ss')));
total_dtk_awal:=(to_number(to_char(awal,'hh24'))*60*60)+(to_number(to_char(awal,'mi'))*60)+
(to_number(to_char(awal,'ss')));
total_dtk:=total_dtk_akhir - total_dtk_awal;
jam :=trunc(total_dtk/3600);
mnt1:=total_dtk-(jam*3600);
mnt :=trunc(mnt1/60);
dtk :=total_dtk-((jam*3600)+(mnt*60));
beda:=jam||' Jam '||mnt||' Menit '||dtk||' Detik';
return(beda);
Exception
when others then dbms_output.put_line(sqlerrm);
End;
/
contoh input :
select
hit_jam(to_date('09:10:15','HH24:MI:SS'),to_date('12:15:14','HH24:MI:SS'))
from dual
Salam
Fikril
2009/10/6 OLA <[email protected]>
>
>
> minta bantuan rekan2 mengenai perhitugan jam
> kalo ada variabel
>
> begin
> jam := '19:00'; -- varchar2
> jam2 := jam + 15 -- maksudnya di tambah 15 menit
> end ;
>
> bagaimana solusinya
> sedangkan 15 menit ada suaru default dan variabel jam bisa berganti2
>
> thx atas perhatiannya
>
> Ola
>
> [Non-text portions of this message have been removed]
>
>
>
[Non-text portions of this message have been removed]