SQL Server Tarih Fonksiyonları

Merve KÜÇÜKDOĞRU
Machine Learning Turkiye
4 min readDec 18, 2020

1)GETDATE

Geçerli veritabanı sistemi tarihini ve saatini ‘YYYY-MM-DD HH:MM:SS.MMM’ formatında döndürür. Temel kullanımı aşağıdaki gibidir.

SELECT GETDATE();

2)CURRENT_TIMESTAMP

Geçerli tarih ve saati ‘YYYY-MM-DD HH:MM:SS.MMM’ formatında döndürür. GETDATE() fonksiyonu ile aynı işlevi görür. Temel kullanımı aşağıdaki gibidir.

SELECT CURRENT_TIMESTAMP;

Aşağıdaki örnekte de GETDATE() ve CURRENT_TIMESTAMP fonksiyonlarının aynı işlemi gerçekleştirdiğini görebiliriz.

3)DATEDIFF()

DATEDIFF fonksiyonu iki tarih arasındaki farkı döndürür. Üç parametre alır. İlk parametreye iki tarih arasındaki farkı nasıl tutmak istediğimizi, ikinci parametreye başlangıç tarihini, üçüncü parametreye bitiş tarihini yazarız. Temel kullanımı aşağıdaki gibidir.

SELECT DATEDIFF(interval, date1, date2);

İki tarih arasındaki farkı yıl, ay, gün, hafta, saat, dakika saniye yada mili saniye olarak döndürebiliriz.

Örneğin yaşımızı hesaplamak istersek;

Yaşımızı hesaplarken yıl, ay, gün, hafta, saat, dakika bilgilerini ayrıntılı olarak görmek istersek;

Örneğin üç yıldan fazla çalışanların maaşlarına %20 zam yapalım. Önce kayıtları bulalım.

Şimdi Update sorgumuzu yazalım.

En son maaş alanının güncellenip güncellenmediğini kontrol etmek için 3 yıldan fazla çalışan ve işten ayrılmayan çalışanları listeleyebiliriz.

4)SYSDATETIME

Sql Server’ın çalıştığı bilgisayarın tarih ve saat bilgisini verir. Temel kullanımı aşağıdaki gibidir.

SELECT SYSDATETIME();

5)YEAR

Fonksiyon içinde belirtilen tarihin yıl bilgisini döndürür. Temel kullanımı aşağıdaki gibidir.

SELECT YEAR(DATE);

Örnekte de görüldüğü gibi tarih formatını ‘19200423' yazmamız ile ‘1920–04–23’ yazmamız arasında hiçbir fark yoktur.

6)MONTH

Fonksiyon içinde belirtilen tarihin ay bilgisini döndürür. Temel kullanımı aşağıdaki gibidir.

SELECT MONTH(DATE);

7)DAY

Fonksiyon içinde belirtilen tarih ifadesinde gün değerini döndürür. Temel kullanımı aşağıdaki gibidir.

SELECT DAY(DATE);

8)DATEPART

Fonksiyon içinde verilen tarih ifadesinde istediğimiz belirli bir bölümü döndürür. Temel kullanımı aşağıdaki gibidir.

SELECT DATEPART(interval, DATE);

DATEPART() fonksiyonunda yıl, ay, gün, hafta, saat, dakika saniye yada mili saniye değerlerini sayısal olarak döndürebiliriz.

Örneğin 2017 yılından sonra işe giren çalışanları görmek istersek;

9)DATEFROMPARTS

Fonksiyonda belirtilen (yıl, ay, gün) ifadelerden bir tarih oluşturur. Üç parametreden oluşur. İlk parametre 4 basamaklı yıl değerini, ikinci parametre 1'den 12'ye kadar ay değerini ve üçüncü parametre 1'den 31'e kadar gün değerini tutar. Temel kullanımı aşağıdaki gibidir.

SELECT DATEFROMPARTS(YEAR, MONTH, DAY);

Örnek olarak oluşturduğumuz tarihin yıl bilgisini almak istersek;

Son olarak 2020 yılına ait rastgele 5 adet tarih oluşturalım.

10)DATEADD

DATEADD fonksiyonu verdiğimiz değere göre ekleme yapar ve sonucu ‘datetime’ degişken formatında döndürür. Temel kullanımı aşağıdaki gibidir.

SELECT DATEADD(interval, NUMBER, DATE);

Örneğin bugünün tarihine 23 yıl eklemek istersek;

DATEADD() fonksiyonunda yıl, ay, gün, hafta, saat, dakika saniye yada mili saniye değerlerini de ekleyip değer döndürebiliriz.

11)ISDATE

Fonksiyon içine girilen ifadenin geçerli bir tarih olup olmadığını kontrol eder. Girilen ifade geçerli bir tarih ise 1, geçerli bir tarih değilse 0 değerini döndürür. Temel kullanımı aşağıdaki gibidir.

SELECT ISDATE(DATE);

12)GETUTCDATE

Geçerli UTC (Coordinated Universal Time) tarih ve saatini döndürür. Temel kullanımı aşağıdaki gibidir.

SELECT GETUTCDATE();

Türkiye’nin saati tüm yıl boyunca UTC+3 şeklindedir.

Zaman ayırıp okuduğunuz için teşekkür ederim. Umarım faydalı olmuştur. Bir sonraki yazıda görüşmek üzere…

--

--