SQL Server Varchar, Char, Nvarchar ve Nchar Veri Tiplerinin Farkları

Bu yazıda SQL Server’da kullanılan Varchar, Char, Nvarchar ve Nchar veri tipleri nerede kullanılır ve aralarında ne gibi farklar vardır, kısaca bunlardan bahsetmeye çalışacağım.

Öncelikle, bu veri tiplerinin hepsi de string veri tipleridir.

  • Char (X)
  • Her karakter 1 Byte yer kaplar X maksimum uzunluktur. Biz bu alana ne girersek girelim maksimum uzunluğa tamamlayacak şekilde boşluk atar.
    Örneğin Char(100) için “bitimek” kelimesi “bitimek      …” şeklinde 93 adet boşluk ile doldurulur. Bu sebeple diskte fazla yer kaplar.
    Sabit uzunlukta veriler(TC NO veya Telefon No gibi) için performanslıdır. Maximum uzunluk en fazla 8.000’dir.(8 KByte)

  • Varchar (X)
  • Her karakter 1 Byte yer kaplar. X maksimum uzunluktur. Bu alana girdiğimiz veri kadar yer kaplar. Varchar(100) için “bitimek” kelimesi “bitimek” şeklinde 7 karakterlik yer kaplar.
    Maximum uzunluk en fazla 8.000’dir.(8 KByte)
    Diskte daha az yer kaplar. Ama arama performansı Char’a göre biraz yavaştır.

  • NChar (X)
  • Çince, Latince, Arapça gibi standart dışı alfabelerin karakterlerini destekleyen veri tipidir. Her karakter 2 Byte yer kaplar. X maksimum uzunluktur. Bunun dışında Char veri tipinin özelliklerini taşır. Yani karakter boyutu kadar boşluk eklenir. Burada boşluklar da 2 Byte’dir.
    Maksimum veri limiti 4.000 karakterdir.(4 KByte)

  • NVarchar (X)
  • Varchar’ın tüm özelliklerini taşımakla birlikte yine Çince, Latince, Arapça gibi standart dışı alfabelerin karakterlerini destekleyen veri tipidir.
    Varchar’da olduğu gibi sadece girilen veri kadar yer kaplar. Varchar’dan farklı olarak her bir karakter 2 Byte olup Maksimum veri limiti 4.000 karakterdir. (4 KByte)

     

    Varchar, Char, Nvarchar ve Nchar veri tiplerinden kısaca bahsedip farklarını belirtmeye çalıştım, umarım bilgiler işinize yarar. Yorumlarınızı veya sorularınızı yorumlar kısmına yazabilirsiniz.

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir