Forum
Merhaba.
NVarChar veri türü olan kolonumun veri türünü yanlış açmam sonucu; VarChar(max) olarak değiştirmek istiyorum. Sizce veri türünü değiştirdiğimde tablonun işleyişi sağlıklı olur mu? (Kolon aktif olarak kullanılan, veri olan bir alandır.)
Merhaba.
NVarChar veri türü olan kolonumun veri türünü yanlış açmam sonucu; VarChar(max) olarak değiştirmek istiyorum. Sizce veri türünü değiştirdiğimde tablonun işleyişi sağlıklı olur mu? (Kolon aktif olarak kullanılan, veri olan bir alandır.)
Merhabalar
ben database uzmanı değilim, ama bildiğim kadarıyla nvarchar karakter başına 2 byte alan kullanıyor, bir unicode sistem. varchar ise asci yani 1 byte.
örneğin şuan o hanede 10 karakter var ise nvarchar olarak, bu 20 byte eder. bu varchar olarak değiştirilirse, 10 karakter olarak değil, byte başına tek karakter olarak alıgılanabilir büyük ihtimal.
yani bu demek oluyor ki, 20 karakter olarak işlem görecek o veriler.
c# da, bir şekilde unicode olan bu karakterleri başka bir tabloya ascii olarak dönüştürerek kayıt edebilir, daha sonra nvarchar -> varchar olarak tip güncellemesi sonrası dönüştürdüğünüz verileri kayıt edebilirsiniz.
verilerinizi kaybetmemek için herhangi bir işlem öncesinde yedeklemeyi unutmayınız.
şükranlarımı sunarım.
Bilgi için teşekkürler.
VarChar a dönüştürdüm fakat bu seferde veritabanı boyutu birden şişti. (20 mb dan 45 mb oldu). Bu sefer veritabanın şema and data olarak scriptini aldıktan sonra db yi silip tekrar oluşturdum 24 mb oldu.
Farklı fikirlere de açığım