T-SQL Veri Tipleri
Metinsel Veri Tipleri (String Datatypes)
Veri Tipi | Türü | Açıklama |
---|---|---|
CHAR(n) | Karakter | Uzunluğu değişmeyen sabit verileri saklar. Eğer n değeri 10 ise daha kısa uzunlukta değer girilince kalan boşluğu kendi tamamlar ve öyle saklar. |
VARCHAR(n) or VARCHAR(max) | Karakter | Değişebilir uzunlukta verileri saklar. En fazla 8000 karakter alır. n değeri maximum değerdir, daha kısa uzunlukta değer girilse bile olduğu gibi kayıt eder. |
TEXT | Karakter-Metin | Değişebilir uzunlukta karakterleri saklar. En fazla 2GB metin içerir. |
NCHAR(n) | Karakter | Sabit uzunlukta Unicode karakterleri saklar. Char tipinden farkı çoklu dil ve Unicode desteği olmasıdır. En fazla 4000 karakter. |
NVARCHAR(n) or NVARCHAR(max) | Karakter | Değişebilir uzunlukta verileri saklar. varchar tipinden farkı çoklu dil ve Unicode desteği olmasıdır. En fazla 4000 karakter |
NTEXT | Karakter-Metin | En fazla 2,147,483,647 karakter uzunluğunda değer alabilen veri türüdür. Unicode desteği vardır. |
BINARY(n) | Binary Data (İkili Sayma Sistemi) |
Dosyaları (Binary data) saklamak için kulanılır. Binary(n) şeklinde n değeri 1 ile 8000 arasında değer alır. N bayt kadar yer kaplar. |
VARBINARY(n) or VARBINARY(max) | Binary Data (İkili Sayma Sistemi) |
Maksimum 2,147,483,647 bayt (2 GB) büyüklüğünde dosya kaydedilebilir. |
IMAGE | Binary Data (İkili Sayma Sistemi) |
Grafik nesneleri için kullanılmaktadır. Binary olarak saklar. Maksimum 2 GB data saklar. |
*(n) kullanıcı tarafından verilen boyutu temsil eder.
Sayısal Veri Tipleri (Numeric Datatypes)
Data Type Syntax | Türü | Açıklama |
---|---|---|
BIT | İkili Sistem | 0, 1 ve null değerini saklar. |
TINYINT | Tam Sayı | 0 ile 255 arasında değerleri saklar. |
SMALLINT | Tam Sayı | 32,768 ile 32,767 arasında değerleri saklar. |
INT | Tam Sayı | 2,147,483,648 ile 2,147,483,647 arasında değerleri saklar. |
BIGINT | Tam Sayı | 9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 arasında değerleri saklar. |
DECIMAL(m,d) | Ondalık Sayı | Decimal(precision,scale),precision ile anlamlı basamak sayısı ve scale ile de virgülden sonraki kaç basamağın dikkate alınacağını belirten bir veri tipidir.Anlamlı basamak sayısı 1 ile 38 arasında tanımlanabilir.Scale faktörü ise 0 <= s <= p ile ilişkiye sahiptir. |
DEC(m,d) | Ondalık Sayı | Toplam basamak sayısı m ise ve d ondalık basamaktan sonraki rakamdır. Bu DECIMAL veri türü için eşanlamlıdır. |
NUMERIC(m,d) | Ondalık Sayı | Numeric(precision,scale),precision ile anlamlı basamak sayısı ve scale ile de virgülden sonraki kaç basamağın dikkate alınacağını belirten bir veri tipidir.Anlamlı basamak sayısı 1 ile 38 arasında tanımlanabilir.Scale faktörü ise 0 <= s <= p ile ilişkiye sahiptir.Decimal ile aynıdır. |
FLOAT(n) | Ondalık Sayı | Kullanılmak istenen boyuta göre ortalama değer alır. float(n) şeklinde kullanılır. mesela virgülden sonra 20 bitlik bir alan kullanılmasını istiyoruz. O zaman float(20) olarak yazılır ve verdiğimiz bu boyuta göre kaydetmek istediğimiz sayı yuvarlanır. Kesin değer değil de yaklaşık değer kaydedilmiş olur. n kısmı 1 ile 53 arasında olmalıdır. |
REAL | Ondalık Sayı | float(n) ile aynı özelliktedir. 4 bayt yer kaplar. – 3.40E+38 ile -1.18E-38, 0 ve 1.18E-38 ile 3.40E+38 arası ondalık sayıları tutar. |
SMALLMONEY | Para | 4 bayt yer kaplar. -214.748,3648 ile 214.748,3647 arası ondalık sayıları tutar. Virgülden sonra 4 basamak alır. Parasal verileri smallmoney veri tipinde saklayabiliriz. |
MONEY | Para | 8 bayt yer kaplar. kaplar. -922.337.203.685.477,5808 ile 922.337.203.685.477,5807 arası ondalık sayıları tutar. Virgülden sonra 4 basamak alır. Parasal verileri money veri tipinde saklayabiliriz. |
Tarihsel Veri Tipleri (Date/Time Datatypes)
Data Type Syntax | Türü | Açıklama |
---|---|---|
DATE | Tarih | 1 Ocak 0001 – 31 Aralık 9999. Sadece tarih içerir, saati saklamaz. |
DATETIME | Tarih | 1 Ocak 1753 – 31 Aralık 9999. 3.33 milisaniye doğruluk hassasiyeti vardır. |
DATETIME2(fractional seconds precision) | Tarih | datetime göre daha hassas şekilde YYYY-MM-DD hh:mm:ss[.nnnnnnn] tarih tutar (2011-01-21 12:35:29.1234567 gibi). saniye bölümünün ondalık kısmında 7 basamağa kadar değer tutabilir. Bu değer sadece datetime2 olarak kullanıldığında varsayılan olarak 7 basamaktır. |
SMALLDATETIME | Tarih | 1 Ocak 1900 – 6 Haziran 2079. 1 dakikalık doğruluk hassasiyeti vardır. |
TIME | Tarih | Sadece saati hh:mm:ss[.nnnnnnn] şeklinde tutar. 00:00:00.0000000 ile 23:59:59.9999999 arası değer alır. datetime2′de olduğu gibi** time(n)** şeklinde n değerini belirleyebiliyoruz. n değeri 0 ile 2 arasında ise 3 bayt; 3 veya 4 ise 4 bayt; 5 ile 7 arasında ise 5 bayt yer kaplar. sadece time olarak kullanılırsak varsayılan n değeri 7′dir. |
DATETIMEOFFSET(fractional seconds precision) | Tarih | Kullanımı ve tarih aralığı datetime2 ile aynıdır. Ülkelere göre değişen zaman farkını da tutmamıza olanak sağlar. YYYY-MM-DD hh:mm:ss[. nnnnnnn] [{+-}hh:mm] şeklinde tarihi tutar (22.01.2012 02:07:23.1234567 +03:00). Saat farkı -14:00 ile +14:00 arasında değer alır. Yaptığımız uygulamada farklı ülkelerin tarih ve saat bilgilerini tutuyorsak bu veri tipini kullanabiliriz. datetimeoffset(n) şeklinde kullanılır. n değeri 0 ile 2 arasında ise 8 bayt; 3 veya 4 ise 9 bayt; 5 ile 7 arasında ise 10 bayt yer kaplar. sadece datetimeoffset olarak kullanılırsak varsayılan n değeri 7′dir. T-SQL İfade Tipleri |