Oracle SQL Saat Farkı

Share Button

Merhaba,

Oracle SQL’de iki saat arasındaki farkı hesaplamak için to_char ve to_date fonksiyonlarından yararlanabilirsiniz.

Elimizde bulunan tarih objesi içerisinden saati saniye cinsinde ayırmak için to_char(sysdate, ‘sssss’) yöntemini kullanabilirsiniz. Bu fonksiyon bize gece yarısından itibaren geçen saniye süresini sayı cinsinden vermektedir.

TO_CHAR(SYSDATE,’SSSSS’)
————————
42881
1 row selected.

to_char fonksiyonunun bu özelliğinden yararlanarak elimizde bulunan iki adet saati saniye cinsinden sayıya çevirip farklarını alabiliriz. Elde edilen sonuç iki zaman dilimi arasındaki saniye farkını vermektedir. Saniyeyi tekrar tarihe çevirmek için ise to_char fonksiyonunda kullandığımız gibi to_date fonksiyonunda da aynı yöntem mevcuttur.

TO_CHAR(TO_DATE(42881,’SSSSS’),’HH24:MI:SS’)
——————————————–
11:54:41
1 row selected.

Gördüğünüz üzere aynı yöntemi kullnarak çift taraflı dönüşüm yapılabilmektedir. Bu noktadan sonra iki zamanı saniye cinsine çevirip aralarındaki farkın mutlak değerini alıp tekrar tarih objesine dönüştürerek aradki zaman farkını saat cinsinden bulabiliriz.

ZAMAN_FARKI
———–
08:29
1 row selected.