MSSQL 2005 de Tarih Formatını Değiştirme

Evet yine sql yine tarih formatı :) Bilindiği üzere veritabanın kendi tarih formatı bulunuyor ve bu format varsayılan olarak us_english olarak geliyor. Bilmeyen arkadaşlar için bu tarih formatı Ay-Gün-Yıl (mdy) şeklinde, bizim kullandığımız düzen ise, Gün-Ay-Yıl (dmy). Bu çoğu zaman verileri listelerken, süzerken veya veritabanına kayıt eklerken sizi türlü türlü cambazlıklara iten, sürekli karşınıza farklı sıkıntılarla gelen bir handikap durumudur. Geçenlerde burada bir kısmından bahsetmiştim. Bu olayın sanıyorum ki en kesin çözümü sql serverin ayarlarını isteğimiz doğrultusunda düzenlemek.

Olayın mantığını anlamak açısından olayı biraz uzatmak istiyorum. Sql editörümüzü açıp “select * from sys.syslanguages” yazıp çalıştırdığımızda karşımıza diller ve ayarları geliyor. Kayıtları gördüğünüzde olayı zaten anlıyorsunuz. (Şekil-1)

Şekil-1 (kayıtların bir bölümü)

Sonrasında “select name, language from master.dbo.syslogins” dediğimizde karşımıza kullanıcıların kullandıkları varsayılan dilleri görebiliyoruz. Bu şu demek kullanıcıların dillerini kişiselleştirmemiz mümkün olabiliyor. (Şekil-2)

Şekil – 2

Varsayılan dili öğrenmek için ise “select @@Language, @@Langid” cümlesinizi çalıştırıyoruz. (Şekil 3)

Şekil – 3

Varsayılan dili Türkçe yapmak için “EXEC sp_configure ‘default language’, 22 RECONFIGURE” cümlesini çalıştırıyoruz. Buradaki 22 Tükçe‘ nin langid si, yani “select name, language from master.dbo.syslogins” sorgusunu çalıştırdığımızda karşımıza gelen kayıtlardaki Türkçe‘ nin kaşısındaki langid değeri. Bu çözüm olması gereken şekli, istersek hiç bir şeye bulaşmadan “select * from sys.syslanguages” sorgusunu çalıştırıp elle formatları, gün ve ay isimlerini elle değiştrimemiz de mümkün. Bir yazının daha sonuna geldik, herkese güzel ve mutlu günler dilerim.