Set DateFormat Fonksiyonu ile Tarih Formatını Değiştirmek
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.
Where fldEklenmeTarihi >'13.01.2010'
Ve bu sorgunun olusturdugu hata:
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.
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,
Çok teşekkürler. Çok faydalı oldu emeğinize sağlık
Kardes Çok tesekkürler.
sql date format sql dateformat set setdateformat set date format sql