TSql Plsql iki tarih arasındaki zaman farkı

PL/SQL İki Tarih Arasındaki Farkı Bulmak

Plsql’de iki tarihin farkını aldığımızda default olarak gün farkını verir, eğer saat, dakika, saniye cinsinden elde etmek istersek bir takım hesaplamalar yapmamız gerekli.(saat-dakika-saniye hesaplamaları)
Bu işlemler nerelerde kullanılır; bu personel ne kadar süredir çalışıyor, bu sipariş ne kadar süredir bekliyor vs gibi soruların cevaplarını bulabiliriz.

Şimdi bir örnekle gösterelim.

10 gün öncesi ile şu an arasındaki farkı bulalım, SYSDATE fonksiyonu plsql’de şimdiki tarihi verir.

select
ROUND(months_between(sysdate,(sysdate-10))/12,1) yil_farki,
ROUND(months_between(sysdate,(sysdate-10)),1) ay_farki,
(sysdate - (sysdate-10)) gun_farki,
(sysdate - (sysdate-10)) * 24 saat_farki,
(sysdate - (sysdate-10)) * 24 * 60 dakika_farki,
(sysdate - (sysdate-10)) * 24 * 60 * 60 saniye_farki,
(sysdate - (sysdate-10)) * 24 * 60 * 60 * 1000 milisaniye_farki
from dual;

Sorgumuzun çıktısı aşağıdaki gibidir..

yil_farki ay_farki gun_farki saat_farki dakika_farki saniye_farki milisaniye_farki
0 0,3 10 240 14400 864000 864000000

MSSQL (T-SQL) iki tarih arasındaki farkı bulmak

Mssqlde iki tarih arasındaki fark nasıl alınır, bunu da bir örnekle açıklayalım, t-sql de bunun için hazır bir fonksiyon mevcut, DATEDIFF fonksiyonunu kullanacağız, örnek için ele alacağımız iki tarih içinde GETDATE() fonskiyonunu kullanacağız. GETDATE() fonksiyonu T-SQL de şu anki zamanı döndürür.
DATEDIFF genel kullanımı DATEDIFF ( datepart , startdate , enddate )  şeklindedir.

declare @ilktarih datetime =getdate()-10  --10 gün önceki zaman
declare @sontarih datetime =getdate()     --Şimdiki zaman
 
Select DATEDIFF(YEAR,@ilktarih,@sontarih) yil_farki,
DATEDIFF(MONTH,@ilktarih,@sontarih) ay_farki,
DATEDIFF(DAY,@ilktarih,@sontarih) gun_farki,
DATEDIFF(HOUR,@ilktarih,@sontarih) saat_farki,
DATEDIFF(MINUTE,@ilktarih,@sontarih) dakika_farki,
DATEDIFF(SECOND,@ilktarih,@sontarih) saniye_farki,
DATEDIFF(MILLISECOND,@ilktarih,@sontarih) milisaniye_farki

Sorgumuzun çıktısı aşağıdaki gibidir..

yil_farki ay_farki gun_farki saat_farki dakika_farki saniye_farki milisaniye_farki
0 0 10 240 14400 864000 864000000

Tagged: , , , , , ,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir