SQL Date Time/Tarih Saat Formatları Nedir, Nasıl Kullanılır?

SQL Date Time Fonksiyonları, SQL’de en çok kullanacağımız fonksiyonlardan bazılarıda date time fonksiyonlarıdır kimi zaman yaş, ay, yıl, gün veya tarih ekleme çıkarma gibi işlemlere ihtiyaç duyarız SQL tarafında bu ihtiyaçlarımızı Date Time Fonksiyonları karşılamaktadır.

SQL Date Time/Tarih Saat Formatları Nedir, Nasıl Kullanılır?

SQL Date Time/Tarih Saat Formatları Nedir, Nasıl Kullanılır?

Sql Date Time(Tarih Saat) Fonksiyonları

FonksiyonAçıklama
1GETDATE()Sistemin o anki tarih ve saatini verir. Ayrıca sistemin o anki tarih ve saatini CURRENT_TIMESTAMP ilede alabilirsiniz. GETDATE() fonksiyonu sybase’den devranılan ve SQL Server’a özgü bir fonksiyondur ama CURRENT_TIMESTAMP ANSI SQL standardıdır sql server içerisinde rahatlıkla ikisinide kullanabilirsiniz.
2DATEDIFF()İki tarih arasındaki farkı gösterir
3DATEADD()Parametre olarak geçeceğimiz tarih’e gün, ay, yıl eklemek için kullanırız.
4DATEPART()Parametre olarak geçtiğimiz tarihin sadece gün, ay, yıl şeklinde parçalayıp alabiliriz.
5CONVERT()Tarih ve saat veri türlerini farklı formatlarda göstermek için kullanabiliriz.
6DAY()Parametre olarak geçtiğimiz tarihin gün kısmını verir.
7MONTH()Parametre olarak geçtiğimiz tarihin ay kısmını verir.
8YEAR()Parametre olarak geçtiğimiz tarihin yıl kısmını verir.

Makale Öncesi Bilgilendirmeler

Örneklerden hemen önce bazı bilgileri paylaşmak istiyorum haftanın ilk günü değerini sql’de global bir değişken olan DATEFIRST değişkeninden alabilirsiniz bu değişkendeki değer yine global bir değişken olan LANGUAGE değişkenindeki dil tanımına göre değişebilmektedir varsayılan olarak sql server dili us_english ‘dir ve us_english diline göre haftanın ilk günü değeri 7’dir 7 değeride haftanın pazar gününe denk gelmektedir(Pazartesi -> 1, …… Pazar -> 7) sizde kendi sql server’ınızdaki dil ve haftanın ilk günü bilgisini belirttiğimiz iki global değişken üzerinden alttaki kodlar ile öğrenebilirsiniz.

Sonuç

DilHaftanın İlk Günü
us_english7

Daha önce belirttiğim gibi buradaki değerler sizin kurulum sırasında seçtiğiniz dile veya sonrada SET LANGUAGE <diladi> veya SET DATEFIRST <haftaninilkgunu> kodlarına bağlı olarak farklı çıkabilir.

Şimdi ise Örneklere Geçelim

1- Getdate Fonksiyonu ile bugünün tarihini alalım

Bu fonksiyonda ise GETDATE() fonksiyonu ile bugünün tarihini alıyoruz.


2- Datediff Fonksiyonu ile belirlediğimiz bir tarih ile bugünkü tarih arasındaki gün sayısını alalım

Bu fonksiyonda ise ilk parametrede hesaplanacak iki tarih arasındaki sonucun size ne olarak geri dönmesini istersiniz ben DAY yazarak sonucun bana gün olarak geri dönmesini sağlıyorum 2.parametreye başlagıç tarihi belirtilmelidir siz buraya tablonuzda bulunan bir alanı kullanabilirsiniz ama ben manuel olarak girilmiş bir tarih yazıyorum 3.parametreye ise bitiş tarihi belirtilmektedir

3- DateAdd Fonksiyonu ile bugünkü tarihe gün,ay, yıl ekleme

Bu örneğimizde DATEADD fonksiyonun ilk parametresine ekleme yapacağımız tarih formatını belirtiyoruz DAY(GÜN), MONTH(AY), YEAR(YIL) olarak ve ikinci parametrede ise ekleme yapılacak değeri belirtiyoruz 3.parametrede ise siz tablonuzdan bir alanı belirtebilirsiniz ama ben örnek olarak bugünün tarihini GETDATE() fonksiyonuyla alıyorum.


4- DatePart Fonksiyonu ile belirli tarih içerisinden Gün, Ay, Yıl olarak parça halinde alabiliriz.

Bu sorguda DATEPART fonksiyonunun birinci parametresinde kullanılan DAY(GÜN) değeri ile 2.parametrede kullanmış olduğumuz GETDATE fonksiyonuyla bugünün tarihinden sadece günü alıyoruz.

DatePart fonksiyonuna kullanabileceğimiz diğer değerler şu şekildedir.

datepartKısaltmasıAçıklama
yearyy, yyyyYıl bilgisini verir.
quarterqq, qYıl içindeki çeyrek bilgisini verir. { [1,2,3] -> 1, [4,5,6] -> 2, [7,8,9] -> 3, [10,11,12] > 4 }
monthmm, mAy bilgisini verir.
dayofyeardy, ySayısal olarak yılın kaçıncı günü olduğunu verir.
daydd, dGün bilgisini verir.
weekwk, wwYıl içerisinde kaçıncı haftada olunduğu bilgisini verir.
weekdaydw1-7 arasında haftanın günü bilgisini verir.
hourhhSaat bilgisini verir
secondss, sSaniye bilgisini verir.
millisecondmsMilisaniye bilgisi verir.
microsecondmcsMikrosaniye bilgisi verir.
nanosecondnsNanosaniye bilgisi verir.
TZoffsettz
ISO_WEEKisowk, isoww

Kısaltma kısmında kullanılan “,” karakteri ile ayrılan değerlerin ikiside aynı sonucu vermektedir kısalatmanında kısaltması oluyor açıkçası 🙂


6,7,8 – DAY, MONTH, YEAR fonksiyonları ile GÜN, AY, YILI alma

Bu fonksiyonlar ile tablonuzda bir tarih alanını belirtebilir isterseniz aşağıdaki örnekte olduğunu GETDATE fonksiyonunu kullanarak parça halinde Gün, Ay, Yılı alabilirsiniz


Sql Server Tarih Veri Türleri

Şimdide Sql Server tarih veya tarih/saat veri tiplerinin veritabanında hangi formatta saklandığı ile ilgili bilgilere gözatalım

Veri TürüSaklanma FormatıAralıkHassasiyetAlan Boyutu(byte)Kullanıcı-Tanımlı kesirli ikinci hassasiyetSaat Dilimi Uzaklığı
timehh:mm:ss[.nnnnnnn]00:00:00.0000000 ile 23:59:59.9999999100 nanosaniye3 – 5EvetYok
dateYYYY:MM:DD0001-01-01 ile 9999-12-311 gün3HayırYok
datetimeYYYY-MM-DD hh:mm:ss[.nnn]1753-01-01 ile 9999-12-310.00333 saniye4HayırYok
smalldatetimeYYYY-MM-DD hh:mm:ss1900-01-01 ile 2079-06-061 dakika8HayırYok
datetime2YYYY-MM-DD hh:mm:ss[.nnnnnnn]0001-01-01 00:00:00.0000000 ile 9999-12-31 23:59:59.9999999100 nanosaniye6 – 8EvetYok
datetimeoffsetYYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm0001-01-01 00:00:00.0000000 ile 9999-12-31 23:59:59.9999999 (UTC’de)100 nanosaniye8 – 10EvetVar
timestampBenzersiz bir sayı

Timestamp bir tarih yada zaman türü değildir. timestamp rowversion için eşanlamlı bir göreve sahip ve kullanımdan kaldırılmıştır.


📚 SQL Date Time Kaynakları


📚 SQL Date Time İle Benzer Makaleler


✍ Lütfen SQL Date Time konulu makale için olumlu-olumsuz tüm görüşlerinizi bana yorum yada mail yolu ile iletmeyi ihmal etmeyin.

🔗 Sosyal medya kanallarından SQL Date Time konulu makaleyi paylaşarak destek olursanız çok sevinirim.

👋 Bir sonraki makalede görüşmek dileğiyle.

4.8/5 - (27 votes)

Murat Öner sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et