Set DateFormat Fonksiyonu ile Tarih Formatını Değiştirmek

  • 17.09.2010 15:08
  • SQL
  • 12852

            Sql Server tarih formatini 'Yil-Ay-Gün' seklinde sakladigi için, tarih parametresi içeren bir sorgu yazdigimizda mutlaka bu formata uygun bir tarih göndermeliyiz. Aksi takdirde tarih formatinin taninmadigi hakkinda bir exception dönecektir. Böyle bir problemin önüne geçmek için ise "Set DateFormat dmy" satirini sorgumuza ekleyerek, SQL Server' in tarih formatini sistemimizin tarih formatina göre ayarlayarak islemimizi yapacagiz. Ve saglikli bir sekilde sorgumuzu tamamlamis olacagiz.

            Dilerseniz ufak bir örnekle, bu islemi uygulayarak inceleyelim. Simdi, ürün tablomuz olsun ve bu ürün tablosunda ürünü ekledigimiz tarihi barindiran bir fieldimiz olsun. Biz de ürün ekleme tarihini baz alarak, eklenme tarihi belirttigimiz tarihten sonra olan ürünleri listeleyelim.
            
           Asagidaki sorgu tarih formatini degistirmeden yazdigim ve sonucunda hata aldigim sorgudur. Benim verdigim tarih formati Sql in tarih formatina uymadigi için hata veriyor.  

       Select      *    

       From        tblUrunler

       Where       fldEklenmeTarihi >'13.01.2010'


Ve bu sorgunun olusturdugu hata:

 

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

 

 

 

 

 


Asagidaki sorgu ise çalisan sorgumuz. "Set DateFormat dmy" satiri ile önce Sql'in tarih formatini gün-ay-yil formatina uyacak sekilde degistiriyoruz. Ve verdigimiz tarih parametresi de bu formata uygun oldugu için hatasiz çalisiyor.

 

 

       Set DateFormat dmy
 

       Select      *    

       From        tblUrunler

       Where       fldEklenmeTarihi >'13.01.2010'


Bu formati sisteminizin tarih formatini göz önüne alarak degistirmelisiniz. Örnegin; verdiginiz tarih parametresi '01.13.2010' seklinde ise sistemin tarih formatini mdy(ay-gün-yil) seklinde belirlemelisiniz, eger verdiginiz tarih formati '13.01.2010' seklinde ise sistemin tarih formatini dmy(gün-ay-yil) seklinde belirlemelisiniz,

 

Bu yazıya yapılan yorumlar:

  • Nuri Can

    16.04.2018 10:04

    çok teşekkürler hocam saygılar

  • Faruk

    13.04.2017 19:27

    Çok teşekkürler. Çok faydalı oldu emeğinize sağlık

  • Ömer Faruk

    10.12.2013 18:53

    Kardes Çok tesekkürler.

Siz de düşüncelerinizi yazabilirsiniz:

;