Veri türü nedir?
Veri türü, herhangi bir sütun veya değişkenin MS SQL Server'da depolayabileceği veri türü olarak tanımlanır.
Herhangi bir tablo veya değişken oluştururken, adı belirtmenin yanı sıra , saklayacağı Veri Türünü de ayarlarsınız .
MS SQL veri türü nasıl kullanılır
- Bir sütunun veya değişkenin depolayabileceği veri türünü önceden tanımlamanız gerekir. Veri tipinin belirlenmesi ayrıca kullanıcının beklenmedik veya geçersiz veri girmesini de kısıtlar.
- Değişken veya sütuna, ilgili sütunun verileri için yalnızca gerekli miktarda sistem belleği ayıracak uygun bir veri türü atayarak belleği verimli bir şekilde kullanabilirsiniz.
- MS SQL, kullanıcının ihtiyaçlarına göre geniş bir veri türü kategorisi sunar. Tarih gibi, ikili resimler vb.
Bu eğitimde şunları öğreneceksiniz:
- Veri türü nedir?
- MS SQL veri türü nasıl kullanılır
- DataTypes neden kullanılır?
- Tam Sayısal
- Yaklaşık Sayısal
- Tarih ve saat
- Karakter Dizeleri
- Unicode Karakter Dizeleri
- İkili Dize
- Diğer Veri Türleri
DataTypes neden kullanılır?
Web sitesi uygulamasının basit bir Kayıt sayfasından bir örnek alalım. 3 giriş alanı Ad, Soyad ve İletişim numarasıdır.
Burada gerçek zamanlı olarak şunu not etmeliyiz:
- "Ad / Soyad" her zaman alfabetik olacaktır .
- "Kişi" her zaman sayısal olacaktır .
- Yukarıdaki resimden "Ad / Soyad" ı bir karakter ve " Kişi" yi bir tamsayı olarak tanımlamaya değer .
Herhangi bir uygulamada, tüm alanların bir veya diğer türde veri içerdiği açıktır. Örneğin sayısal, alfabetik, tarih ve çok daha fazlası.
Ayrıca, farklı veri türlerinin farklı bellek gereksinimleri olduğunu unutmayın. Bu nedenle, belleğin verimli kullanımı için sütun veya değişkeni tutacağı veri türü ile tanımlamak daha mantıklıdır.
MS SQL'de mevcut veri türü
MS SQL sunucusu aşağıdaki Veri türü kategorilerini destekler:
- Tam sayısal
- Yaklaşık sayısal
- Tarih ve saat
- Karakter dizileri
- Unicode karakter dizeleri
- İkili dizeler
- Diğer veri türleri
Tam Sayısal
Tam sayısal, dokuz tür alt veri türüne sahiptir. Tam Sayısal Veri Türleri
Veri tipi | Açıklama | Alt limit | Üst sınır | Hafıza |
---|---|---|---|---|
Bigint | Tam sayıları verilen aralıkta depolar | −2 63 (−9,223,372, 036,854,775,808) | 2 63−1 (−9,223,372, 036,854,775,807) | 8 bayt |
int | Tam sayıları verilen aralıkta depolar | −2 31 (−2.147, 483.648) | 2 31−1 (−2,147, 483,647) | 4 bayt |
Smallint | Tam sayıları verilen aralıkta depolar | −2 15 (−32.767) | 2 15 (−32.768) | 2 bayt |
Tinyint | Tam sayıları verilen aralıkta depolar | 0 | 255 | 1 bayt |
bit | 0, 1 veya NULL değerleri alabilir. | 0 | 1 | 1 bayt / 8 bit sütun |
ondalık | Ölçekli ve sabit hassas sayılar için kullanılır | −10 38 + 1 | 10 381−1 | 5 ila 17 bayt |
sayısal | Ölçekli ve sabit hassas sayılar için kullanılır | −10 38 + 1 | 10 381−1 | 5 ila 17 bayt |
para | Parasal veriler kullanıldı | 22922,337, 203, 685,477,5808 | +922.337, 203, 685.477.5807 | 8 bayt |
küçük para | Parasal veriler kullanıldı | 214.478,3648 | +214.478.3647 | 4 bayt |
Örnekler:
Sorgu:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Çıktı: 2
Sözdizimi: Ondalık (P, S)
Buraya,
- P hassas
- S ölçektir
Sorgu:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Çıkış: 2.31
Yaklaşık Sayısal
Yaklaşık Sayısal kategori, kayan nokta ve gerçek değerleri içerir. Çoğunlukla bilimsel hesaplamalarda kullanılırlar. Yaklaşık Sayısal Veri Türü
Veri tipi | Açıklama | Alt limit | Üst sınır | Hafıza | Hassas |
---|---|---|---|---|---|
şamandıra (n) | Yüzen bir hassas sayı için kullanılır | −1.79E + 308 | 1.79E + 308 | N değerine bağlıdır | 7 Haneli |
gerçek | Yüzen bir hassas sayı için kullanılır | −3.40E + 38 | 3.40E + 38 | 4 bayt | 15 Haneli |
Syntax: FLOAT [(n)]
Burada n , bilimsel gösterimde float sayısının mantisini saklamak için kullanılan bit sayısıdır. Varsayılan olarak, n değeri 53'tür.
Kullanıcı float gibi bir veri türü tanımladığında, n 1 ile 53 arasında bir değer olmalıdır.
SQL Server, n'yi iki olası değerden biri olarak değerlendirir. 1 <= n <= 24 ise n, 24 olarak kabul edilir. 25 <= n <= 53 ise, n 53 olarak kabul edilir.
Örnek Sorgu:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Çıkış: 22.1234
Tarih ve saat
Tarih ve saat türündeki verileri depolar. Tarih ve Saat Veri Türü
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ında bir tarih ve saat belirlemek için kullanılır. 3.33 milisaniye hassasiyete sahiptir. | 8 bayt | .000, .003, .007'lik artışlara yuvarlanır | 1753-01-01 | 9999-12-31 |
küçük günler | 1 Ocak 0001 ile 31 Aralık 9999 arasında bir tarih ve saat belirlemek için kullanılır. 100 nanosaniye doğruluğa 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 | 100 nanosaniye hassasiyetle yalnızca zaman değerlerini depolamak için kullanılır. | 5 bayt | 100 nanosaniye | 00: 00: 00.0000000 | 23: 59: 59.9999999 |
datetimeoffset | Veri saatine benzer ancak bir saat dilimi uzaklığına sahiptir | 10 bayt | 100 nanosaniye | 0001-01-01 | 9999-12-31 |
tarih saat2 | 1 Ocak 0001 ile 31 Aralık 9999 arasında bir tarih ve saat belirlemek 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'
Karakter Dizeleri
Bu kategori bir karakter tipiyle ilgilidir. Kullanıcının sabit ve değişken uzunlukta olabilen veri tipini tanımlamasına izin verir. Dört tür veri türüne sahiptir. Karakter Dizeleri Veri Türleri
Veri tipi | Açıklama | Alt limit | Üst sınır | Hafıza |
---|---|---|---|---|
kömür | Sabit genişliğe sahip bir karakter dizesidir. Maksimum 8.000 karakter depolar. | 0 karakter | 8000 karakter | n bayt |
Varchar | Bu değişken genişliğe sahip bir karakter dizesidir | 0 karakter | 8000 karakter | n bayt + 2 bayt |
varchar (maks.) | Bu, değişken genişliğe sahip bir karakter dizesidir. Maksimum 1.073.741.824 karakter depolar. | 0 karakter | 2 31 karakter | n bayt + 2 bayt |
Metin | Bu, değişken genişliğe sahip bir karakter dizesidir. Maksimum 2GB metin verisi depolar. | 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 Tipidir
Unicode Karakter Dizeleri
Bu kategori, UTF-16 karakter kodlamasını kullanan tüm Unicode karakter aralığını depolar. Unicode Karakter Dizesi Veri Türleri
Veri tipi | Açıklama | Alt limit | Üst sınır | Hafıza |
---|---|---|---|---|
nchar | Sabit genişlikte bir Unicode dizesidir | 0 karakter | 4000 karakter | 2 kere n bayt |
nvarchar | Değişken genişlikte bir unicode dizesidir | 0 karakter | 4000 karakter | 2 kere n bayt + 2 bayt |
ntext | Değişken genişlikte bir unicode dizesidir | 0 karakter | 1.073.741.823 karakter | İp 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
İkili Dize
Bu kategori, sabit ve değişken uzunlukta bir ikili dizi içerir. İkili Dize Veri Türleri
Veri tipi | Açıklama | Alt limit | Üst sınır | Hafıza |
---|---|---|---|---|
ikili | Sabit genişlikte bir ikili dizedir. Maksimum 8.000 bayt depolar. | 0 bayt | 8000 bayt | n bayt |
değişken ikili | Bu, değişken genişlikte ikili bir dizedir. Maksimum 8.000 bayt depolar | 0 bayt | 8000 bayt | Girilen verilerin gerçek uzunluğu + 2 bayt |
görüntü | Bu, değişken genişlikte ikili bir dizedir. Maksimum 2GB depolar. | 0 bayt | 2.147.483.647 bayt |
Örnek Sorgu:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Çıktı: 0x000C
Diğer Veri Türleri
Bunlar, aşağıdaki açıklamaya sahip diğer farklı veri türleridir.
Veri tipi | Açıklama |
---|---|
İmleç | Çıktısı bir sp_cursor_list ve sp_describe_cursor sütunudur. İmleç değişkeninin adını döndürür. |
Satır versiyonu | Tablo satırlarını sürüm damgalar. |
Hierarchyid | Bu veri türü, hiyerarşideki bir konumu temsil eder |
Benzersiz tanımlayıcı | Bir karakter ifadesinden dönüştürme. |
Sql_variant | SQL server destekli Veri Tiplerinin değerlerini depolar. |
XML | XML verilerini bir sütunda depolar. |
Uzamsal Geometri türü | Verileri düz bir koordinat sisteminde temsil eder. |
Mekansal Coğrafya türü | Yuvarlak dünya koordinat sistemindeki verileri temsil eder. |
masa | Daha sonra işlenmek üzere bir sonuç kümesini saklar. |
İlginç gerçekler!
- CHAR veri türü, verileri alırken VARCHAR'dan daha hızlıdır.
Özet:
- Tablolardaki her sütun, tablo oluşturma sırasında veri türüyle tanımlanır.
- Altı ana kategori ve bir başka çeşitli kategori vardır. Diğer çeşitli türlerde dokuz alt veri türü kategorisi mevcuttur.