Bu veri tiplerini veritabanında metin yapısında tutacağımız kolonlara veriyoruz. Bunları ne zaman kullanacağımızı yada kullanmayacağımızı bu yazımızda özet olarak göstermeye çalışacağız.
char veri tipi uzunluğu sabit değerler için kullanılır. Örneğin bir ürünün seri numarası, kişinin tc kimlik numarası.
varchar uzunluğu değişken değerler içindir, örneğin personel tablosundaki isim alanı, e-posta alanı.
Kolonun uzunluğu sabit değilse, yani bu kolonda tutulacak değerlerin hepsi 12 karakter uzunluğunda olacaktır gibi birşey diyemiyor isek, char yerine varchar kullanılmalıdır.
Böyle bir durumda char kullanılırsa development tarafında bazı sorunlar oluşur. Çünkü char tipi eksik kalan yerlere boşluk karakteri ekler ve beklenmeyen sonuçlar çıkar, yada her sorguda char tipindeki alanı trim'lemek zorunda kalırız.
Bununla beraber sabit uzunluktaki kolonlara varchar kullanmamak gerekir. char tipinin index'lerde daha performanslı çalışacağını unutmayalım.
nvarchar yine varchar gibi uzunluğu değişken kolonlar için kullanılır. varchar ile arasında şöyle bir fark vardır.
nvarchar varchar'dan farklı olarak unicode karakter seti kullanır ve daha geniş bir karakter aralığına sahiptir. Bununla beraber herbir karakteri tutmak için daha fazla alan/byte kullanır. Bu nedenledir ki nvarchar'ı gereksiz yere kullanmamak gerekir. Birden çok dili destekleyen (multilingual) bir alan olmayacaksa tipini nvarchar vermemeliyiz.
Veritabanının karakter seti türkçe(yada türkçeyi destekleyen bir karakter seti) olsa dahi nvarchar tipi kullanarak çince, japonca, arapça, yunanca yada rusça karakterleri tutabilriz. Fakat nvarchar tipinin gereksiz kullanımının oldukça verimsiz olacağını unutmayalım!