Varchar ve nvarchar arasındaki fark, verilerin bir veritabanında nasıl saklandığını gösterir. Veritabanından oluşan bir veri tabanı sistemi veri tiplerine göre tanımlanır. Bir veri türü, bir sütunun ne tür bir değer içerebileceğini söyler. Veritabanı tablosundaki her sütunun bir adı ve veri türü olmalıdır. Günümüzde veritabanı tasarımında birçok veri türü bulunmaktadır. Bu veri türlerinden dize karakterlerini depolamak için varchar ve nvarchar kullanılır. Varchar ve Nvarchar birbirinin yerine kullanılabilir. Ancak bu iki türün farklı avantajları vardır ve farklı amaçlar için kullanılırlar.
Adından da anlaşılacağı gibi, varchar bir değişen karakter veya değişen char. Varchar sözdizimi VARCHAR [(n | max)]. Varchar, Unicode olmayan veriler olan ASCII verilerini depolar ve normal kullanımda kullanılan veri türüdür. Varchar karakter başına bir bayt kullanır. Ayrıca her dizenin uzunluğunu veritabanında saklar. Varchar değişken bir veri uzunluğuna sahiptir ve maksimum 8000 Unicode olmayan karakter saklayabilir. Bu veri türü çok esnektir ve birçok farklı veri türünü kabul eder. Varchar, dizenin kullanılmayan kısımları için boş karakterler depolamanıza izin vermez. Varchar'ın maksimum depolama boyutu 2 GB'dir ve verilerin gerçek depolama boyutu gerçek veri uzunluğu ve iki bayttır. Varchar karakterden daha yavaş olmasına rağmen dinamik bellek ayırma kullanır. Yalnızca dizeler değil, tarih türleri, “14 Şubat”, ”12/11/2014” gibi dizgi olmayan türler de varchar veri türünde depolanabilir.
Nvarchar, ulusal değişen karakter veya ulusal değişken bir karakter. Nvarchar sözdizimi NVARCHAR [(n | max)] 'dur. Nvarchar, değişen uzunluklarda farklı veri türlerini saklayabilir. Bunlar Unicode veri ve çok dilli veri ve Çince çift baytlı karakterlere sahip dillerdir. Nvarchar karakter başına 2 bayt kullanır ve maksimum 4000 karakter sınırını ve maksimum 2 GB uzunluğunu saklayabilir. Nvarchar "" karakterini boş karakter dizisi ve sıfır karakter uzunluğu olarak kabul eder. Depolama boyutu, karakter sayısının iki katı artı iki bayttır. Nvarchar'da, değer saklandığında ve alındığında sondaki boşluklar kaldırılmaz.
Varchar ve nvarchar arasındaki temel fark, verilerin bir veritabanında nasıl saklandığını gösterir.
• Varchar ASCII değerlerini ve nvarchar Unicode karakterlerini depolar.
• Varchar karakter başına bir bayt kullanırken nvarchar karakter başına iki bayt kullanır.
• Varchar [(n)] değişken uzunluktaki Unicode olmayan karakterleri ve Nvarchar [(n)] değişken uzunluktaki Unicode karakterleri depolar.
• Varchar maksimum 8000 Unicode olmayan karakter ve nvarchar maksimum 4000 Unicode veya Unicode olmayan karakter depolayabilir.
• Varchar, Unicode olmayan karakterlere sahip değişkenlerin bulunduğu yerlerde kullanmak daha iyidir. Nvarchar, Unicode karakterleri olan değişkenlerin olduğu yerlerde kullanılır.
• Varchar'ın depolama boyutu, karakter sayısına eşit bayt sayısı ve ofset için ayrılmış iki bayttır. Nvarchar, karakter sayısının iki katına eşit bayt sayısı ve ofset için ayrılmış iki bayt kullanır.
• Tüm modern işletim sistemleri ve geliştirme platformları dahili olarak Unicode kullanır. Bu nedenle, nvarchar veri türlerinin dönüştürülmesini önlemek için varchar yerine yüksek oranda kullanılır.
Özet:
Nvarchar vs Varchar
Varchar ve nvarchar, farklı dize türlerini saklamak için kullandığımız değişken uzunluktaki veri türleridir. Bu veri türleri modern işletim sistemlerinde yardımcı olur. Bu veri türü çeşitleri, işletim sistemlerine göre verilerin bir türden diğerine dönüştürülmesini önler. Bu nedenle, varchar ve nvarchar, programcının Unicode ve Unicode olmayan dizeleri çok zorlanmadan tanımlamasına yardımcı olur. Bu iki veri türü programlamada çok kullanışlıdır.
Görüntüler Nezaket: