SQL Server Indonesia User Groups Community Menghitung Selisih jam dengan T-SQL - suherman
Welcome to SQL Server User Group Indonesia
Sign in JoinHelp | Sign In Live ID

suherman

Share ur Knowledge

Menghitung Selisih jam dengan T-SQL

Habis baca milis, ada yang nanya mengenai menghitung selisih waktu pembicaraan telepon, Jadi ‘gatel’ juga neh mau bikin UDF nya.

untuk menghitung selisih jam dapat menggunakan UDF yang saya buat dibawah ini. Namun tidak bisa menghitung lebih dari 24 jam, karena hanya menghitung sampe jam saja dengan format ‘hh”mm:ss’

Berikut UDF nya :

create function dbo.selisih_tanggal(@tgl1 datetime, @tgl2 datetime)
returns char(8)
as
begin
declare @selisih int, @jam int, @menit int, @detik int, @name_p char(8)
declare @Cjam char(2), @Cmenit char(2), @Cdetik char(2)

set @selisih = (select datediff(second,@tgl1,@tgl2))
if @selisih<86400
begin
set @jam= (select (@selisih/3600))
set @menit= (select (@selisih%3600)/60)
set @detik = (select ((@selisih%3600)%60))

begin
if @jam>9
set @Cjam = (select Cast(@jam as char(2)))
else
set @Cjam = '0'+(select Cast(@jam as char(1)))
end

begin
if @menit>9
set @Cmenit = (select Cast(@menit as char(2)))
else
set @Cmenit = '0'+(select Cast(@menit as char(1)))
end

begin
if @detik>9
set @Cdetik = (select Cast(@detik as char(2)))
else
set @Cdetik = '0'+(select Cast(@detik as char(1)))
end
set @name_p=@Cjam+':'+@Cmenit+':'+@Cdetik
end
else
begin
set @name_p='uncount!'
end
return @name_p
end

 
untuk memanggilnya dapat menggunakan T-SQL seperti contoh dibawah ini :
select dbo.selisih_tanggal('2009-01-21 01:15:00', '2009-01-21 13:30:30')

 

Selamat mencoba n Have Fun !!

 

Posted: Sep 16 2009, 04:14 AM by Suherman | with no comments
Filed under: ,