T-SQL iki çeşit karakter dizisi vardır; bunlar character strings ve unicode character strings olarak geçer.
Character Strings üç başlıkta toplanır; bunlar char, varchar ve text gibidir.
Unicode Strings de üç başlıkta toplanır; bunlar nchar, nvarchar ve ntext gibidir.
Görüldüğü üzere Unicode da yalnızca başına n harfi eklenmiştir. Aralarındaki tek fark böyle ifade edilmektedir. Unicode kavramını daha önceki yazılarımızda belirtmiştik. Tekrar üzerinden geçmek gerekirse, kısaca bize daha fazla karakter/harf desteği sağlamaktadır.
Sırayla bunların ne olduğuna bakalım.
Character strings;
Char:
Tanımı: Sabit uzunlukta karakter dizisi
Tanımlandırılması: char (n) (n = karakter sayısı)
Bellekteki Kapladığı Alan: n kadar byte yani her bir karakter veri tipi 1 byte (n= 1 ila 8000 byte arasında yer kaplar.)
Bellekte Alabileceği En Fazla Yer: 8000 byte yer kaplar.
Varchar:
Tanımı: Değişken uzunlukta karakter dizisi
Tanımlandırılması: varchar (n | max) (n = karakter sayısı)
Bellekteki Kapladığı Alan: n kadar byte + fazladan 2 byte (n = 1+ (+2) ila 8000 byte arasında yer kaplar.)
Bellekte Alabileceği En Fazla Yer: varchar (max), Yaklaşık 1 gigabyte eş değer 1073741824 karakter kadar.
Text:
Tanımı: Sabit uzunlukta karakter dizisi ve servis sayfa kodlamalarında kullanılıyor. Microsoft ileride ntext ve image tipleri gibi bu tipi de tuşlamak istiyor. J
Tanımlandırılması: text (n) (n = karakter sayısı)
Bellekteki Kapladığı Alan: n kadar byte (n = 1 ila 8000 byte arasında yer kaplar.)
Bellekte Alabileceği En Fazla Yer: 8000 byte
Unicode strings;
Nchar:
Tanımı: Sabit uzunlukta Unicode karakter dizisi
Tanımlandırılması: nchar (n) (n = karakter sayısı)
Bellekteki Kapladığı Alan: n kadar byte yani her bir karakter veri tipi 1 byte (n = 1 ila 4000 byte arasında yer kaplar.)
Bellekte Alabileceği En Fazla Yer: 4000 byte yer kaplar.
NVarchar:
Tanımı: Değişken uzunlukta Unicode karakter dizisi
Tanımlandırılması: nvarchar (n | max) (n = karakter sayısı)
Bellekteki Kapladığı Alan: n * 2 kadar byte + fazladan 2 byte (n = 1 (*2) + (+2) ila 4000 byte arasında yer kaplar.)
Bellekteki Alabileceği En Fazla Yer: nvarchar(max), Yaklaşık yarım gigabyte’a eş değer 536870912 karakter kadar.
NText:
Tanımı: Sabit uzunlukta karakter dizisi ve servis sayfa kodlamalarında kullanılıyor. Microsoft ileride text ve image tipleri gibi bu tipi de tuşlamak istiyor. J
Tanımlandırılması: ntext (n) (n = karakter sayısı)
Bellekteki Kapladığı Alan: n * 2 kadar byte (n = 1 (*2) ila 4000 byte arasında yer kaplar.)
Bellekteki Alabileceği En Fazla Yer: 4000 byte arasında yer kaplar.
Herkese iyi çalışmalar. J