SQL ile Tarihler Arası Farkı Bulmak

SQL ile iki tarih arasındaki yıl, ay, gün vs. gibi zaman farklarını bulmak için DATEDIFF fonksiyonunu kullanabiliyoruz. Kullanımı çok basit ve anlaşılır olan bu fonksiyonun örneğini aşağıda görebilirsiniz. Bu fonksiyonu daha çok veritabanımızda bulunan üye olalı ne kadar olmuş, kampanya tanımlanalı ne kadar olmuş gibi sonuçlara ulaşmak için kullanabiliriz.

T-SQL Tarihler Arası Fark

Yukarıda gördüğünüz gibi iki tarih vererek DATEDIFF fonksiyonu ile farkları bulmaktayız. Aşağıda da çalıştırdığınız da ortaya çıkacak sonucu görmektesiniz.

T-SQL Tarihler Arası Fark

DATEDIFF fonksiyonu ile daha detaylı bilgiye ulaşmak için burayı ziyaret edebilirsiniz.

4 Replies to “SQL ile Tarihler Arası Farkı Bulmak”

  1. Merhaba

    2 kolonda yer alan tarihler arasındaki farkı yıl,ay,gün,saat,dakika ve saniye olarak nasıl hesaplayabilirim.

    1. Merhaba,

      İstediğiniz sonuca ulaşmak için DATEDIFF fonksiyonunu kullanabilirsiniz. Mesela birinci tarihimiz 2018-03-17 00:00:00 olsun, ikinci tarihimiz de GETDATE() fonksiyonundan gelsin. DATEDIFF(YEAR,’2018-03-17 00:00:00′,Getdate()) bu şekilde bir kod yazarsanız eğer karşınıza 1 sonucu gelecektir. Bu kod sadece iki tarih arasındaki yıl farkını verir. DATEDIFF içerisinde YEAR yerine MONTH, DAY, HOUR, MINUTE ve SECOND değerlerini vererek istediğiniz sonuca ulaşabilirsiniz.

  2. merhabalar;

    Satırlar arasındaki saat farkını almak istiyorum nasıl yapabilirim? Örneğin;

    Saat
    1. 16:03:02
    2. 16:35:07
    3. 18:01:05

    Her seferinde bir alttaki satır ile karşılaştıracağım. 2 ile 1’in farkı, 3 ile 2 nin farkına ihtiyacım var. bu satırlar böylece uzayıp gidiyor tabi. Bu farklardan bir tablo oluşturmam gerekli.

    Şimdiden teşekkürler.

    1. Merhaba,

      Geç cevap için kusura bakmayın. Bunu prosedür yardımı ile ya da farklı bir yazılım yardımı ile (örneğin: c# windows) yapabilirsiniz. Her iki durumda da bir önceki tarihi bir değişkende tutarak farkını alabilirsiniz.

Bir cevap yazın

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