SQL Server

SQL Tarih – Zaman Fonksiyonları

Bu yazımızda Sql  Tarih ve Zaman Fonksiyonlarının nasıl kullanılabileceği ile ilgili basit sorgu örnekleri paylaşacağım. GETDATE(),  GETUTCDATE(), YEAR(), MONTH(), DAY(), DATEPART(), DATENAME(), DATEADD(), DATEDIFF() ve ISDATE() Fonksiyonlarının kullanımı ve bununla ilgili sorgu örneklerini inceleyebilirsiniz. Sorguları ticaret veritabanında bulunan musteriler tablosu üzerinden gerçekleştireceğiz. Tablo yapısı aşağıdaki resimden inceleyebilirsiniz.

GetDate()

GETUTCDATE()

YEAR(tarih)

Girilen tarih parametresindeki yılı getirir. Bu tablonuzda her hangi bir alanda bulunan tarih verisi olabilir. Örneğimizde GetDate() ile bugünün tarihinin yıl bilgisini alalım.

Şimdi de musteri tablosunda musteriler ait ad,dtarih ve yaş bilgisini görüntüleyelim.

 

Month(tarih)

Yukarıdaki örnekten farklı olarak tarih içindeki Ay bilgisini çekmek istediğimizde kullanabiliriz.

İkinci örneğimizde ise musteri tablosunda Şubat ayında doğan müşterileri listeleyelim.

Şimdi de musteri tablosunda ay ve gün bilgisini beraber kullanacağımız bir sorgu yazalım. doğum günü Mart ayının 19 u olan müşterileri listeleyelim.

DATEPART(param1,param2)

param2 ile belirtilen tarihin param1 ile belirtilen kısmını alır. Yani Gün,Ay,Yıl,Saat,Dakika,Saniye bilgilerini bu yöntemi kullanarakta elde edebiliriz.

param1: örneğin yıl için yy, ayın gün için d, ayın için mm, yılın günü için dy gibi kısaltmalar kullanılabilir.

Şimdi örneğimizde  bu güne ait Yıl, Ay, Gün, saat, Dakika ve Saniye bilgisini DatePart Fonksiyonu kullanarak elde edelim. Resmin üzerine tıklayarak büyütebilirsiniz.

 

 

DATENAME(param1,param2)

param2 ile belirtilen tarihin ay yada gün biçimlerini öğrenebilirsiniz.

Not: Sql Server diline göre getirmektedir. Türkçe için daha önceden set language Turkish komutu çalıştırılmalıdır.

Türkçe olarak gelmesini sağlamak için

sorgusunu çalıştırabilirsiniz.

DATEADD

Belirtilen değer ve parametre kadar ekleme yapar. Burada eksiltme yapmak istendiğinde negatif sayılar kullanılabilir.

Örnek olarak bugünün tarihinden 2 gün sonraki ve 3 gün önceki tarihleri elde edelim.

Datediff

Bu fonksiyonu kullanarak iki tarih arasındaki farkı bulmak için kullanılabilir. Bu fonksiyon 3 parametreye ihtiyaç duyar. İlk parametre tarihin hangi kısmı, yani ay, gün, yıl bilgisi. İkinci kısım iki tarih arasında önce gelen tarih, sonraki parametre ise sonra gelen tarih olur.

İSDATE

Bu fonksiyon ile girilen tarihin geçerli olup olamadığı kontrol edilebilir. Geçerli bir tarih ise 1 değilse 0 bilgisi geri dönecektir. 

İlk örneğimizde şubat ayına ait 29 gün çekip çekmediği ile ilgili geriye 0 – 1 döndürelim.

Şimdide bu geriye dönen değere göre ekranda mesaj nasıl verdirebiliriz ona bakalım.

Yorum yap