Zaman Fonksiyonları

Bu bölümde SQL'de zaman fonksiyonlarını nasıl kullanabileceğimize değineceğiz.

zaman fonksiyonları

Öncelikle Sales.SalesOrderHeader tablomuzu açalım ve sorgulatalım.


DATEFROMPARTS() Fonksiyonu

zaman fonksiyonları

İlk öğreneceğimiz fonksiyon, DATEFROMPARTS() fonksiyonudur.

Öncelikle tüm sorgu kodlarını silelim ve

SELECT DATEFROMPARTS(2023,4,1)
yazalım. DATEFROMPARTS fonksiyonu bir tarihin yıl, ay ve günlerini bölümlemeye yarar. Bu örnekte 1 Nisan 2023'ü yazdırdık.

zaman fonksiyonları

Şimdi aynı tablonun tüm sütunlarını tekrar sorgulatalım.

zaman fonksiyonları

Altına

WHERE [OrderDate] < DATEFROMPARTS(2012,1,1)
kodlarını yazalım. Burada yaptığımız 2012'den önceki tüm siparişleri listelemek. Görüldüğü üzere 31465 siparişin 1607'si 2012'den öncesine ait.

zaman fonksiyonları

Eğer belirli bir tarih aralığındaki kayıtları bulmak isteseydik BETWEEN ifadesini kullanmalıydık.

WHERE [OrderDate] BETWEEN DATEFROMPARTS(2013,1,1)
AND DATEFROMPARTS(2013,3,31)
kodları ile 1 Ocak 2013 ve 31 Mart 2013 aralığındaki tüm sipariş kayıtlarını listeledik. Yani 2013'ün ilk çeyreğini bulduk.


YEAR() Fonksiyonu

Belirli bir yılı bulmak için YEAR() fonskiyonunu kullanmaktayız.

zaman fonksiyonları

Örnekte

WHERE YEAR(OrderDate) = 2014
kriteri ile sadece 2014 yılına ait kayıtları listeledik.


DATEDIFF() Fonksiyonu

İki tarih arasındaki farkı bulmak için DATEDIFF() fonksiyonunu kullanmaktayız. DIFF, difference (fark) kelimesinin kısaltmasıdır.

zaman fonksiyonları

Diyelim ki sorgumuzda sadece [SalesOrderID], [Orderdate] ve [ShipDate] sütunlarını kullandık. Amacımız ShipDate ve OrderDate arasındaki farkı gün olarak bulmak. Yani siparişin verildiği tarih ile kargoya verildiği tarih arasındaki farkı.

zaman fonksiyonları

Öncelikle [ElapsedDay] adlı yeni bir sütun oluşturuyoruz. DATEDIFF fonkisyonunun ilk parametresine DAY yazıyoruz. Böylece zaman farkı gün olarak listelenecek. Farkını almak istediğimiz sütunları ise diğer parametreler olarak yazıyoruz.

Sonuç olarak siparişin alındığı tarih ve kargo tarihi arasında 7 günlük zaman farkı olduğunu görebiliriz.

Bu bölümde SQL'de zaman fonksiyonlarına değindik. Bir sonraki bölümde ISNULL fonksiyonuna değineceğiz.

<<< Önceki Konu
Sonraki Konu >>>