NVarChar VarChar Farkı
Google aramalarıyla siteme gelen kişilerin aradıkları şeylere ve gelen bir kaç soruya binaen bu farkı yazmaya karar verdim. Veritabanı uygulamalarımızı yazarken kolonlarımızda en çok tuttuğumuz türlerden birkaçı da char,varchar ve nvarchar’dır. Peki nedir bunların arasındaki fark. Öncelikle char tipi kolonumuzda karakter tutmamızı sağlar. Örneğin char(50) dediğimizde bu kolonumuza char tipi veri girebiliriz ve kolona kaç karakter girersek girelim her bir veri için 50 karakterlik yer ayrılır. VarChar tipindeki Var ifadesi variable yani değişken olduğunu bildiriyor. Peki değişken olması ne demek? Mesela VarChar(50) dediğimizde bu kolona 50 karakter girebiliriz ancak girdiğimiz veri 50 karakterden az ise verinin boyutu kadar yer tutar. Yani VarChar(50) tanımladığımız alanda 30 karakterlik bir veri tutulabilir. NVarChar değişkeninin mantığı ise VarChar ile aynıdır. İsmindeki N uNicode ifadesindeki N’dir. (***) VarChar’dan farkı ise bu kolonlarda Unicode karakterler tutulabilir. Yani veritabanında birden fazla dilde karakter bulunduran alanlar olacaksa bu tipte kolon oluşturmanız sorun yaşamanıza engel olacaktır.
(***): @Ahmet yorumunda NVarChar’daki N’nin “National” anlamındaki N olduğu hatırlatmasını yaptı. Hatırlatması için teşekkür ediyorum. Resmi olarak bu anlamda bir kısaltma. Ancak teknik anlamda daha açıklayıcı olduğu için üstteki ifadeyi tercih ediyorum. Nchar’da da benzeri bir durum var. Bu tipte alanlarda Unicode karakter tutabilirsiniz.