İki tarih arasındaki farkı aşağıdaki şekilde bulabilirsiniz.
SELECT DATEDIFF(YEAR,'01/01/1990','01/01/2000') AS 'Yıl Farkı'
SELECT DATEDIFF(MONTH,'01/01/1990','01/01/2000') AS 'Ay Farkı'
SELECT DATEDIFF(DAY,'01/01/1990','01/01/2000') AS 'Gün Farkı'
SELECT DATEDIFF(HOUR,'01/01/1990','01/01/2000') AS 'Saat Farkı'
SELECT DATEDIFF(MINUTE,'01/01/1990','01/01/2000') AS 'Dakika Farkı'
SELECT DATEDIFF(SECOND,'01/01/1990','01/01/2000') AS 'Saniye Farkı'
SELECT DATEDIFF(MILLISECOND,'01/01/2000','01/02/2000') AS 'Milisaniye Farkı'
Özellikle milisaniye için dikkat etmemiz gereken konu; Burada dönen değer integer tipinde olacağı için milisaniye için iki büyük tarih aralığında sorgu yapacak olursanız aşağıdaki şekilde integer atama hatası ile karşılaşıyor olacaksınız.
The datediff function resulted in an overflow. The number of dateparts separating two date/time instances is too large. Try to use datediff with a less precise datepart.
Datediff işlevi bir taşmayla sonuçlandı. İki tarih/saat örneğini ayıran tarih bölümlerinin sayısı çok fazla. Datediff'i daha az kesin bir tarih bölümüyle kullanmayı deneyin.