SQL Server Veri Tipleri

Çiğdem Kılıç
3 min readFeb 2, 2021

--

Sql Server verileri saklamak için çeşitli veri tipleri sunmaktadır. Veri tipleri metinsel, sayısal, tarihsel ya da parasal olabileceği gibi görüntü, xml ya da kullanıcı tarafından oluşturulmuş tipte de olabilmektedir.

Metinsel(string) Veri tipi

char: char(n) olarak kullanılır. Sabit uzunlukta veri tipidir. Tamamını kullanmamış olsanız bile belirlediğiniz genişlik kadar alan tutar. Bu da ciddi büyüklükteki kullanılmayan alanlara ve yavaşlığa neden olur. Bu sebepten veri tipini uygun tanımlamış olmak oldukça önemlidir. 8000 bayt sabit uzunlukta olup, 8000 karakter saklayabilmektedir.

varchar: varchar(n) olarak kullanılır. Değişken uzunlukta veri tipidir. Değişkenin ihtiyaç duyduğu kadar alan belirler. 8000 bayt değişken uzunlukta olup, 8000 karakter saklayabilmektedir.

nchar: nchar(n) olarak kullanılır. char veri tipinden farkı Unicode karakterler için kullanılmasıdır. Bu karakterlerin her biri 2 bayt büyüklüğündedir. 8000 bayt sabit uzunlukta olup, 4000 karakter saklayabilmektedir.

nvarchar: nvarchar(n) olarak kullanılır. nvarchar veri tipinden farkı Unicode karakterler kullanılmasıdır. 8000 bayt değişken uzunlukta olup, 4000 karakter saklayabilmektedir.

text: text eski sürümlerden beri kullanılmaktadır. Yeni sürümlerdeki varchar ile aynı özelliktedir. ntext ise nvarchar ile aynı özelliktedir.

Sayısal(numeric) Veri Tipi

Tam sayı (exact numerics) veri tipi: int, bigint, tinyint, smallint, money, smallmoney, numeric(ondalık ve tam sayı verilerini tutabilir.)

Yaklaşık tam sayı(approximate numerics) veri tipi: float, real,

ikili(binary) veri tipi: binary, varbinary

bigint: 8 bayt büyüklüğündedir. -9,223,372,036,854,775,808 ile +9,223,372,036,854,775,807 arasındaki tam sayı verileri için kullanılır.

int: 4 bayt büyüklüğündedir. -2,147,483,648 ile +2,147,483,647 arasındaki tam sayı verileri için kullanılır.

smallint: 2 bayt büyüklüğündedir. +32,768 ile -32,768 arasındaki tam sayı verileri için kullanılır.

tinyint: 1 bayt büyüklüğündedir. 0–250 arası tam sayılar için kullanılır.

money: aynı zamanda parasal veri tipidir. 8bayt büyüklüğünde. Yaklaşık 99 trilyon büyüklüğe sahip veriler için kullanılır. smallmoney ise 4 bayt büyüklüğünde yaklaşık 214 bin büyüklüğe sahip veriler için kullanılır.

numeric: numeric(p,s) veya decimal(p,s) ikisi de aynı kullanımdır. precision , sayının kaç karakter olduğunu yani anlamlı basamak sayısını belirtir; scale ise ondalıklı kısmı belirtir. numeric(5,2)=128,79

float: Boyutu ve doğruluğu (ondalık kısım duyarlılığı) aldığı parametreye göre değişen kayan noktalı sayılar için kullanılır. 4 bayt büyüklüğündedir.

real: Float(24)’tür. -3.40E+38 ile 3.40E+38 arasında değer alır. 8 bayt büyüklüğündedir.

binary:1 ve 0'ları temsil eden, ikili tabandaki veri tipleridir. Sabit uzunluktadır. binary(n) şeklinde kullanılır ve n bayt kadar alan kaplar. 8000 bayta kadar depolama sunabilir.

varbinary: varbinary(n) şeklinde kullanılır ve değişken uzunluktadır, girilen veri kadar alan belirler. 8000 bayta kadar depolama sunabilir.

Tarihsel Veri Tipleri

date: Tarihleri YYYY-MM-DD şeklinde saklayan 3 bayt uzunluğunda veri tipidir. Genişliği 9999–12–31 yılına kadardır.

time: Sadece saat verilerini hh:mm:ss:nnnnnnn şeklinde saklayan veri tipidir. 3–5 bayt uzunluğundadır. salise hassasiyeti maks 7'dir.

datetime: YYYY-MM-DD hh:mm:ss:mmm şeklinde tarih ve zaman verilerini tutan 8 byte uzunluğunda veri tipidir. 1753–01–01 00:00:00.000 ile 9999–12–31 23:59:59.999 arası değerlerini saklar.

datetime2: datetimeden farkı hassasiyetinin maks 7 olmasıdır. Hassasiyet uzunluğuna göre kapladığı alan da değişmektedir. 6–8 bayt uzunluğundadır.

smalldatetime: YYYY-MM-DD hh:mm:ss şeklinde tarih ve zaman verilerini saklayan 4 byte uzunluğunda veri tipidir. 1900–01–01 00:00:00 ile 2079–06–06 23:59:59 arasındaki tarih ve zaman değerlerini saklar.

datetimeoffset: Ülkelere göre değişen zaman farkını tutmak için kullanılır.

Diğer Veri Tipleri

sql_variant : Sayı,metin,binary gibi farklı veri tipli değerleri depolamak için kullanılır.

timestamp : Tabloya kayıt eklendiğinde ve güncellendiğinde binary türünde özel bir değer alan veri tipidir. Kullanıcı bu alanı değiştiremez veya kendisi değer atayamaz.

uniqueidentifier : 16 byte uzunluğunda 6F9619FF-8B86-D011-B42D-00C04FC964FF gibi GUID tipindeki verileri tutar. Guid, harf ve sayılardan oluşan eşsiz bir datadır. İki Guid’in birbiri ile eşit olması imkansızdır.

xml : XML türünde hiyerarşik verileri saklamak için kullanılır. Bellekteki boyutu saklanan xml verisine göre değişir.

geography : Coğrafi koordinatları ve gps verilerini tutmak için kullanılır.

geometry : Öklid koordinat sistemine ait verileri tutmak için kullanılır. Geometrik şekillerin en, boy, yükseklik verilerini saklar.

hierarchyid : Ağaç veri modeli veya hiyerarşik olarak sınıflandırılmış verileri saklamak için kullanılır.

--

--