MS SQL Dersleri – 1 Veri Tipleri
MS Sql üzerinde veri tiplerini 4 ana kategori altında toplayabiliriz.
- String veri tipleri
- Sayısal veri tipleri
- Tarih ve saat veri tipleri
- Diğer tipler
String veri tipleri
char : En fazla 8000 karakter desteği sağlar. Veri az girilmiş olsa bile belirtilmiş boyut kadar yer kaplar. Unicode’u desteklemez.
nchar : En fazla 4000 karakter desteği sağlar. Veri az girilmiş olsa bile belirtilmiş boyut kadar yer kaplar. Unicode desteği sağlar.
varchar : En fazla 8000 karakter desteği sağlar. Char’dan farkı girilmiş verinin boyutu kadar yer kaplamasıdır. Unicode’u desteklemez. Boyut olarak MAX verilirse 2GB’ta kadar veri tutabilmektedir.
nvarchar: En fazla 4000 karakter desteği sağlar. NChar’dan farkı girilmiş verinin boyutu kadar yer kaplamasıdır. Unicode desteği sağlar. Boyut olarak MAX verilirse 2GB’ta kadar veri tutabilmektedir.
text: Veri az girilmiş olsa bile belirtilmiş boyut kadar yer kaplar. Unicode’u desteklemez. 2GB’ta kadar veri tutabilmektedir.
ntext: Text’ten farkı girilmiş verinin boyutu kadar yer kaplamasıdır. Unicode desteği sağlar. 2GB’ta kadar veri tutabilmektedir.
Sayısal veri tipleri
bit: 1 byte uzunluğunda tam sayı tutar.
int: 4 byte büyüklüğünde +- 2 milyar arasındaki tam sayı değerler için kullanılır.
tinyint : 1 byte büyüklüğünde 0 ile 255 arasında tam sayı değerler için kullanılır.
smallint : 2 byte büyüklüğünde -32768 ile 32767 tam sayı değerler için kullanılır.
bigint : 8 byte büyüklüğüne sahip + 2u63 ile -2u63 tam sayı değerler için kullanılır.
float : Aldığı parametreye göre ondalık duyarlılığı değişen veri tipidir. Aldığı değer 1 ile 53 arasında olmalıdır.
decimal ve numeric : Aynı veri tipleridir. -10^38 ile +10^38 arasında ondalık ve tam sayı değerler için kullanılır.
real : 4 bayt yer kaplar. float(24) ile aynı değerdedir. -3.40E+38 ile 3.40E+38 arasında değer alır.
money : -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 arasında ki 8 bayt boyutundaki parasal değerleri tutmak için kullanılır. 4 basamağa kadar ondalık duyarlıdır.
smallmoney : -214.748.3648 ile 214.748.3647 arasında ki 4 bayt boyutundaki parasal değerleri tutmak için kullanılır. 4 basamağa kadar ondalık duyarlıdır.
Tarih ve saat veri tipleri
date : 3 byte uzunluğunda veri tipidir. Dataların tutulma formatı YYYY-MM-DD şeklindedir.
smalldatetime : 4 byte uzunluğunda veri tipidir. Dataların tutulma formatı YYYY-MM-DD hh:mm:ss şeklindedir.
datetime : 8 byte uzunluğunda veri tipidir. Dataların tutulma formatı YYYY-MM-DD hh:mm:ss:mmm şeklindedir.
datetime2 : datetime ile aynı üzelliklere sahiptir. Ek olarak salise kısmı 7 basamağa kadar duyarlıdır.
time : Sadece saat verilerini tutar. Datetime2 olduğu gibi salise kısmı 7 basamağa kadar duyarlıdır.
datetimeoffset : Ülkelere göre değişen zaman farkını tutmak için kullanılır.
Diğer Tipler
binary : Dosyaları binary tipinde saklamak için kullanılır. 1 ile 8000 arasında değer almaktadır. Veri az girilmiş olsa bile belirtilmiş boyut kadar yer kaplar.
varbinary: Dosyaları binary tipinde saklamak için kullanılır. 1 ile 8000 arasında değer almaktadır. Binary’ den farkı tuttuğu veri kadar yer kaplar. Boyut bilgisi MAX olarak verilmişse 2 GB kadar veri tutabilir.
image: Varbinary ile aynı özelliklere sahiptir. Yeni sürümlerde yer verilmeyeceği için image kullanılması önerilmemektedir. Bunun yerine varchar(MAX) kullanılabilir.
sql_variant : Farklı veri tiplerinin tek bir alanda tutabilmesi için kullanılabilir. Metin, sayı, binary gibi tüm tipleri saklayabilmektedir.
timestamp : Tabloya kayıt eklenip veya güncellendiğinde binary tipinde özel bir değer alır. Kullanıcı tarafından değiştirilemez. Satırın versiyon kodu olarakta adlandırılabilir.
uniqueidentifier : 16 byte uzunluğunda GUID tipinde değerleri tutmak için kullanılır. f0f2ca31-21cc-4b82-bd94-b2c977bd6f73 gibi eşsiz harf ve sayılardan oluşur.
xml : XML tiplerini saklamak için kullanılır. Boyutu XML boyutuna göre değişiklik gösterir.
geography : Koordinat ve GPS verilerini tutmak için kullanılır.
geometry : Geometrik şekillerin en, boy, yükseklik verilerini saklar.
hierarchyid : Hiyerarşik olarak sınıflandırılmış verileri saklamak için kullanılır.
Konuyla ilgili eksik gördüğünüz veya sormak istediğiniz sorular için mail adresimden veya yorumlardan bana ulaşabilirsiniz.