Örneklerle SQL Server Veri Türleri
⚡ Akıllı Özet
SQL Server veri tipleri, bir sütun veya değişkenin saklayabileceği değer türünü tanımlar; örneğin tamsayı, ondalık sayı, karakter, tarih veya ikili sayı. Doğru türü seçmek, geçerli verileri sağlar ve belleği verimli kullanır.

Veri Türü Nedir?
Bir veri türü MS SQL Server Herhangi bir sütun veya değişkenin saklayabileceği veri türü olarak tanımlanır. Bir nesnenin tuttuğu veri türüdür; örneğin tamsayı, karakter veya metin dizesi. Herhangi bir nesne oluşturulurken tablo or değişkenİsmi belirtmenin yanı sıra, depolayacağı veri türünü de belirliyorsunuz.
MS SQL veri türü nasıl kullanılır?
Bir sütunun veya değişkenin hangi tür verileri depolayabileceğini önceden tanımlamanız gerekir. Veri türünü belirlemek, kullanıcının beklenmedik veya geçersiz veriler girmesini de engeller.
Bir değişkene veya sütuna uygun bir veri türü atayarak, o sütunun verileri için yalnızca gerekli miktarda sistem belleği ayırarak belleği verimli bir şekilde kullanabilirsiniz.
MS SQL, çok çeşitli temel veri türleri sunmaktadır. SQL Kullanıcı ihtiyaçlarına uygun olarak, tarih, ikili sayı sistemi, resimler ve daha fazlasını içerebilir.
Neden DataTypes'ı kullanmalısınız?
Bir web sitesi uygulaması için basit bir kayıt sayfasını örnek olarak ele alalım. Üç giriş alanı şunlardır: Ad, Soyad ve İletişim numarası.
Burada gerçek senaryolarda şunu belirtmek gerekir:
- "Ad/Soyad" her zaman alfabetik sırayla yazılacaktır.
- "İletişim" her zaman sayısal olacaktır.
Aşağıdaki örnek, bir kayıt formunda bu alanları göstermektedir.
Yukarıdaki resme bakıldığında, "Ad/Soyad"ı bir karakter, "İletişim"i ise bir tamsayı olarak tanımlamak mantıklı görünüyor.
Herhangi bir uygulamada, tüm alanların sayısal, alfabetik, tarihsel ve daha birçok türde veri içerdiği açıktır.
Ayrıca, farklı veri türlerinin farklı bellek gereksinimlerine sahip olduğunu da unutmayın. Bu nedenle, belleği verimli kullanmak için sütunu veya değişkeni tutacağı veri türüyle tanımlamak daha mantıklıdır.
MS SQL Server'da bulunan veri türü
İşte MS SQL Server veri türleri listesi. MS SQL Server aşağıdaki veri türü kategorilerini destekler:
- Tam sayısal
- Yaklaşık sayısal
- Tarih ve saat
- Karakter dizeleri
- Unicode karakter dizileri
- İkili dizeler
- Diğer veri türleri
Aşağıdaki şema, MS SQL Server veri türlerini bu kategorilere ayırmaktadır.
SQL'de Tam Sayısal Veri Türleri
SQL Server'da kesin sayısal veri türünün dokuz alt veri türü vardır. Her biri tanımlanmış bir aralıkta tam sayıları veya sabit noktalı sayıları saklar.
| Veri tipi | Açıklama | Alt limit | Üst sınır | Bellek |
|---|---|---|---|---|
| bigint | Verilen aralıktaki tam sayıları saklar | −2^63 (−9,223,372,036,854,775,808) | 2^63−1 (9,223,372,036,854,775,807) | 8 bayt |
| int | Verilen aralıktaki tam sayıları saklar | −2^31 (−2,147,483,648) | 2^31−1 (2,147,483,647) | 4 bayt |
| küçük tamsayı | Verilen aralıktaki tam sayıları saklar | −2^15 (−32,768) | 2^15−1 (32,767) | 2 bayt |
| Tinyint | Verilen aralıktaki tam sayıları saklar | 0 | 255 | 1 bayt |
| bit | 0, 1 veya NULL değer alabilir. | 0 | 1 | 1 bayt / 8 bit sütun |
| ondalık | Ölçek ve sabit hassas sayılar için kullanılır | −10^38+1 | 10^38−1 | 5 ila 17 bayt |
| sayısal | Ölçek ve sabit hassas sayılar için kullanılır | −10^38+1 | 10^38−1 | 5 ila 17 bayt |
| para | Parasal veriler için kullanılır. | -922,337,203,685,477.5808 | + 922,337,203,685,477.5807 | 8 bayt |
| küçük para | Parasal veriler için kullanılır. | -214,478.3648 | + 214,478.3647 | 4 bayt |
SQL Server'da kesin sayısal veri tipleri ve örnekleri:
Sorgu:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Çıktı:
2
Sözdizimi:
Decimal (P,S)
Burada P hassasiyeti, S ise ölçeği temsil etmektedir.
Sorgu:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
Çıktı:
2.31
SQL'deki Yaklaşık Sayısal Veri Türleri
SQL'deki yaklaşık sayısal değerler kategorisi, kayan noktalı ve gerçek değerleri içerir. Bu veri türleri çoğunlukla bilimsel hesaplamalarda kullanılır.
| Veri tipi | Açıklama | Alt limit | Üst sınır | Bellek | Hassas |
|---|---|---|---|---|---|
| yüzer(n) | Kayan hassas sayı için kullanılır | −1.79E+308 | 1.79 308 + | n'nin değerine bağlıdır | 15 haneli |
| gerçek | Kayan hassas sayı için kullanılır | −3.40E+38 | 3.40 38 + | 4 bayt | 7 haneli |
Kayan noktalı sayı türü aşağıdaki sözdizimini kullanır:
Syntax: FLOAT [(n)]
Burada n, ondalık sayının mantisinin bilimsel gösterimde saklanması için kullanılan bit sayısıdır. Varsayılan olarak, n değeri 53'tür.
Float gibi bir veri türü tanımlarken, n 1 ile 53 arasında bir değer olmalıdır. SQL Server, n'yi iki olası değerden biri olarak ele alır: eğer 1<=n<=24 ise, n 24 olarak kabul edilir; eğer 25<=n<=53 ise, n 53 olarak kabul edilir.
Örnek Sorgu:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
Çıktı:
22.1234
SQL'de Tarih ve Saat Veri Türleri
Bu kategori, tarih ve saat türündeki verileri saklar.
| Veri tipi | Açıklama | Depolama boyutu | doğruluk | Alt Aralık | Daha yüksek kademe |
|---|---|---|---|---|---|
| DateTime | 1 Ocak 1753 ile 31 Aralık 9999 arasındaki tarih ve saati belirtmek için kullanılır. 3.33 milisaniyelik bir doğruluğa sahiptir. | 8 bayt | 000, 003, 007'lik artışlara yuvarlanır | 1753-01-01 | 9999-12-31 |
| küçük tarihsaat | 1 Ocak 1900 ile 6 Haziran 2079 tarihleri arasında tarih ve saat belirtmek için kullanılır. 1 dakikalık doğruluk payına sahiptir. | 4 bayt, sabit | 1 dakika | 1900-01-01 | 2079-06-06 |
| tarih | Yalnızca 1 Ocak 0001 ile 31 Aralık 9999 arasındaki tarihleri saklamak için kullanılır. | 3 bayt, sabit | 1 gün | 0001-01-01 | 9999-12-31 |
| zaman | Yalnızca zaman değerlerini 100 nanosaniyelik bir doğrulukla saklamak için kullanılır. | 5 bayt | 100 nanosaniye | 00:00:00.0000000 | 23:59:59.9999999 |
| tarihsaat uzaklığı | Datetime'a benzer ancak saat dilimi farkı vardır. | 10 bayt | 100 nanosaniye | 0001-01-01 | 9999-12-31 |
| tarih saat2 | 1 Ocak 0001 ile 31 Aralık 9999 arasındaki tarih ve saati belirtmek için kullanılır | 6 bayt | 100 nanosaniye | 0001-01-01 | 9999-12-31 |
Örnek Sorgu:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
Çıktı:
'2030-01-01'
SQL'de Karakter Dizileri Veri Türleri
Bu kategori karakter türleriyle ilgilidir. Sabit ve değişken uzunlukta karakter verileri tanımlamanıza olanak tanır. Dört çeşit veri türü vardır. Aşağıda karakter dizisi veri türleri ve örnekleri verilmiştir.
| Veri tipi | Açıklama | Alt limit | Üst sınır | Bellek |
|---|---|---|---|---|
| tank | Sabit genişliğe sahip bir karakter dizisidir. Maksimum 8,000 karakter saklar. | 0 karakter | 8000 karakter | n bayt |
| Varchar | Bu, değişken genişliğe sahip bir karakter dizisidir. | 0 karakter | 8000 karakter | n bayt + 2 bayt |
| varchar (maks.) | Bu değişken genişliğe sahip bir karakter dizisidir. Maksimum 1,073,741,824 karakter saklar. | 0 karakter | 2^31 karakter | n bayt + 2 bayt |
| metin | Bu, değişken genişliğe sahip bir karakter dizisidir. Maksimum 2 GB metin verisi depolayabilir. | 0 karakter | 2,147,483,647 karakter | n bayt + 4 bayt |
Örnek Sorgu:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
Çıktı:
Bu Karakter Veri Türüdür
Unicode Karakter Dizileri SQL'deki Veri Türleri
Bu kategori, UTF-16 karakter kodlamasını kullanan tüm Unicode karakterlerini saklar.
| Veri tipi | Açıklama | Alt limit | Üst sınır | Bellek |
|---|---|---|---|---|
| nchar | Bu, sabit genişlikte bir Unicode dizesidir. | 0 karakter | 4000 karakter | 2 kere n bayt |
| Nvarchar | Bu, değişken genişlikte bir Unicode dizesidir. | 0 karakter | 4000 karakter | 2 çarpı n bayt + 2 bayt |
| metin | Bu, değişken genişlikte bir Unicode dizesidir. | 0 karakter | 1,073,741,823 karakter | Dize uzunluğunun 2 katı |
Örnek Sorgu:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
Çıktı:
Bu nCharacter Veri Türüdür
SQL'de İkili Dize Veri Türleri
Bu kategori, sabit ve değişken uzunlukta ikili dizeler içerir.
| Veri tipi | Açıklama | Alt limit | Üst sınır | Bellek |
|---|---|---|---|---|
| ikili | Bu, sabit genişlikli bir ikili dizedir. Maksimum 8,000 bayt depolayabilir. | 0 bayt | 8000 bayt | n bayt |
| değişken ikili | Bu, değişken genişlikte bir ikili dizedir. Maksimum 8,000 bayt depolayabilir. | 0 bayt | 8000 bayt | Girilen verilerin gerçek uzunluğu + 2 bayt |
| görüntü | Bu, değişken genişlikte bir ikili dizedir. Maksimum 2 GB veri depolayabilir. | 0 bayt | 2,147,483,647 bayt | - |
Örnek Sorgu:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
Çıktı:
0x000C
SQL'deki Diğer Veri Türleri
Aşağıda açıklamaları bulunan diğer SQL Server veri türleri şunlardır:
| Veri tipi | Açıklama |
|---|---|
| İmleç | Çıktısı, sp_cursor_list ve sp_describe_cursor sütunlarından oluşur. İmleç değişkeninin adını döndürür. |
| Rowversion | Bu, tablo satırlarına sürüm damgası ekler. |
| Hiyerarşik | Bu veri türü, hiyerarşideki bir konumu temsil eder. |
| Benzersiz tanımlayıcı | Genellikle karakter ifadesinden dönüştürülen bir GUID'yi saklar. |
| SQL_variant | SQL Server tarafından desteklenen veri türlerinin değerlerini saklar. |
| XML | XML verilerini bir sütunda saklar. |
| Uzamsal Geometri türü | Düz bir koordinat sistemindeki verileri temsil eder. |
| Uzaysal Coğrafya türü | Yuvarlak dünya koordinat sistemindeki verileri temsil eder. |
| tablo | Daha sonraki işlemler için bir sonuç kümesini saklar. |
İlginç gerçekler!
- CHAR veri türü, sabit genişliği sayesinde uzunluk sınırlamasını ortadan kaldırdığı için veri alınırken VARCHAR veri türünden daha hızlıdır.ping.


