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]

Kirim email ke