Int – 4 bayt yer kaplar ve en çok kullanılan sayısal veri tipidir.
Smallint – 2 bayt yer kaplar.
Tinyint – 0-255 arasında 1 bayt yer kaplar.
Bit – 0 veya 1 değerini alır True yada False olarak kullanılır.
Decimal – Ondalık veya tam sayıları tutar. Genelde ondalık sayı olduğunda kullanılır.
Money – Bellekte 8 byte yer kaplar ve parasal değerleri tutmak için kullanılır.
SmallMoney – 4 bayt yer kaplar ve küçük miktardaki parasal değerleri tutmak için kullanılır.
Real – Hassas değerli ondalıklı sayıları tutar. Boyutu en büyük olan kesirli sayı tipidir.
Float – Bu veri tipi de real gibi hassas ondalıklı veri tiplerini tutar. Ancak boyutu Real’in yarısı kadardır.
DateTime2 – 1 Ocak 0001 ile 31 Aralık 9999 tarihleri arasında veri alır. Bellekte 8 byte yer kaplar ve 100 nano saniye hassasiyetinde tarih tutabilir.
SmallDateTime – 1 Ocak 1900 ile 6 Haziran 2079 tarihleri arasındaki verileri alır.
Date – 1 Ocak 0001 ile 31 Aralık 9999 tarihleri arasında veri alır. Ancak sadece tarih verisini tutar.
Time – 100 nano saniye hassasiyetinde saat verilerini tutar.
DateTimeOffset – Normal datetime aralığında veri alır ek olarak bölgeye bağlı olan saat farkını da tutar.
VarChar – Bu da char gibi en fazla 8000 karakter alabilen ancak girilecek verinin uzunluğu belli olmadığında kullanılır. Unicode desteği yoktur.
VarChar(Max) – En fazla 2 GB boyutuna kadar karakter verisi alır. (Max) bölümüne sayısal değer yazarsak VarChar veri tipinin maksimum uzunluğu o sayı kadar olur. Unicode desteği yoktur.
Text – En fazla 2,147,483,647 karakter uzunluğunda değer alabilen veri türüdür. Unicode desteği yoktur.
NChar – En fazla 4000 karakter tutan ve Unicode desteği olan veri türüdür ve gireceğimiz karakter sayısı belli ise bu kullanılır.
NVarChar – En fazla 4000 karakter alır ve Unicode desteği olan veri türüdür ayrıca gireceğimiz karakter sayısı belli olmadığında kullanılır.
NVarChar(Max) – En fazla 2 GB boyutuna kadar karakter verisi alır. (Max) bölümüne sayısal değer yazarsak VarChar veri tipinin maksimum uzunluğu o sayı kadar olur. Unicode desteği vardır.
NText – En fazla 2,147,483,647 karakter uzunluğunda değer alabilen veri türüdür. Unicode desteği vardır.
Binary – En fazla 8000 bytelık veri saklar.
VarBinary – En fazla 8000 bytelık veri saklar ve girilecek byte miktarı değişken olduğunda kullanılır.
VarBinary(MAX) – En fazla 2 gb boyutunda veri alabilir. (MAX) değerine 2 GB’dan az olmak şartı ile boyut belirtebiliriz.
Image – Grafik nesneleri için kullanılmaktadır.
XML – Xml verilerini saklamak için kullandığımız veri türüdür.
Hierarchyid – Bir hiyerarşi içerisinde olan yapıları saklamak için kullanılılır.
Geometry – X ve Y eksenindeki koordinat bilgilerini tutar.
Genel hali ile kullandığımız veri tipleri bunlardır. Veri tiplerini gösterdikten sonra tablo oluştururken kullandığımız özel ifadelere değinelim.
Identity; Belirli bir sayıdan başlayıp, belirlediğimiz aralığa göre artan veya azalan bir şekilde sayısal değer üretir. Genellikle primary key ile birlikte kullanıp kimlik numarası (id) oluşturulur.
Default; Kullanıcı tarafından sütunda veri belirtilmeden SQL Server tarafından otomatik olarak verilen değerlerdir. Örneğin eleman tablosunda şirket sütunu olsun ve herkes aynı şirkette olduğundan bu bilgi default ile otomatik verilebilir.
NULL / NOT NULL ; Null kavramı boş anlamına gelmektedir. Eğer bir sütunda null olarak belirlemişsek içeriğine bir şey yazmadan dahi tablomuza kayıt ekleyebiliriz. Ancak Not Null olarak belirlersek içeriğine aldığı veri tipinden kayıt girilmesi zorunludur. Yoksa verileri kaydetmez ve hata alırız.
Unique ; Primary key mantığındadır. Bir tablodaki sütuna sadece tekil bilgi girilmesini sağlar. Primary key ve Unique birlikte kullanılmaz.
Kaynak: http://www.emresupcin.com/ms-sql-veri-tipleri-ve-ozel-ifadeler/