Örneklerle SQL Server Veri Türleri
Veri Türü Nedir?
A Veri tipi SQL sunucusunda herhangi bir sütunun veya değişkenin depolayabileceği veri türü olarak tanımlanır. Bir nesnenin tuttuğu tamsayı, karakter, dize vb. veri türüdür. Herhangi bir tablo veya değişkeni oluştururken, adını belirtmenin yanı sıra saklayacağı Veri Türünü de belirlersiniz.
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 türünün belirlenmesi aynı zamanda kullanıcının beklenmedik veya geçersiz veri girmesini de kısıtlar.
- Değişkene veya sütuna, ilgili sütunun verileri için yalnızca gerekli miktarda sistem belleği tahsis edecek uygun bir veri türü atayarak belleğin verimli kullanımını sağlayabilirsiniz.
- MS SQL, kullanıcının Tarih, ikili görüntüler vb. ihtiyaçlarına göre SQL'de geniş bir temel veri türleri kategorisi sunar.
Neden DataTypes'ı kullanmalısınız?
Basit bir örnek alalım Kayıt sayfası web sitesi uygulamasının.Üç giriş alanı Ad, Soyadı ve İletişim numarasıdır.
Burada gerçek zamanlı olarak şunu belirtmeliyiz:
- "İlk soyadı" hep olacak alfabetik.
- "İletişim" hep olacak sayısal.
- Yukarıdaki resimden tanımlamaya değer "İlk soyadı" bir şekilde karakter ve "İletişim" bir olarak tamsayı.
Herhangi bir uygulamada tüm alanların bir veya diğer türde verilere sahip olduğu açıktır. Örneğin sayısal, alfabetik, tarih ve çok daha fazlası.
Ayrıca, farklı veri türlerinin farklı bellek gereksinimlerine sahip olduğunu unutmayın. Bu nedenle sütunu veya sütunu tanımlamak daha mantıklıdır. değişken Belleğin verimli kullanımı için tutacağı veri türüyle.
MS SQL Server'da bulunan veri türü
İşte MS SQL sunucusu veri türleri listesi:
MSSQL sunucusu 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
SQL'de Tam Sayısal Veri Türleri
Tam sayısal, SQL sunucusunda 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 | 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,767) | 2^15 (−32,768) | 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 bitlik sütun |
ondalık | Ölçek ve sabit hassas sayılar için kullanılır | −10^38+1 | 10^381−1 | 5 ila 17 bayt |
sayısal | Ölçek ve sabit hassas sayılar için kullanılır | −10^38+1 | 10^381−1 | 5 ila 17 bayt |
para | Kullanılan parasal veriler | −922,337, 203, 685,477.5808 | +922,337, 203, 685,477.5807 | 8 bayt |
küçük para | Kullanılan parasal veriler | -214,478.3648 | + 214,478.3647 | 4 bayt |
Tam Sayısal veri türleri SQL Server Örneklerle:
Sorgu:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Çıktı
2
Sözdizimi
Ondalık (P,S)
Burada,
- P kesinliktir
- S ölçektir
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 Yaklaşık Sayısal kategorisi kayan nokta ve gerçek değerleri içerir. SQL'deki bu veri türleri çoğunlukla bilimsel hesaplamalarda kullanılır.
Yaklaşık Sayısal Veri Tü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 | 7 Digit |
gerçek | Kayan hassas sayı için kullanılır | −3.40E+38 | 3.40 38 + | 4 bayt | 15 Digit |
Syntax: FLOAT [(n)]
Burada, n mantisini depolamak için kullanılan bit sayısıdır. şamandıra bilimsel gösterimde sayı. Varsayılan olarak n'nin değeri 53'tür.
Kullanıcı float gibi bir veri tipi tanımladığında, n 1 ile 53 arasında bir değer olmalıdır.
SQL Server davranır n iki olası değerden biri olarak. 1<=n<=24 ise n, 24 olarak değerlendirilir. 25<=n<=53 ise, n, 53 olarak değerlendirilir.
Örnek Sorgu:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
Çıktı
22.1234
SQL'de Tarih ve Saat Veri Türleri
Tarih ve saat türündeki verileri saklar.
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ı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 0001'den 31 Aralık 9999'a kadar tarih ve saati belirtmek için kullanılır. 100 nanosaniyelik bir doğruluğa sahiptir. | 4 bayt, sabit | 1 dakika | 1900-01-01 | 2079-06-06 |
tarih | Yalnızca 1 Ocak 0001'den 31 Aralık 9999'a kadar olan tarihi depolamak 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 |
tarihsaat uzaklığı | Datatime'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 bir karakter türüyle ilgilidir. Kullanıcının sabit ve değişken uzunlukta olabilen karakterin veri tipini tanımlamasına olanak sağlar. Dört çeşit veri tipine sahiptir. Aşağıda örneklerle birlikte karakter dizisi SQL sunucusu veri türleri verilmiştir.
Karakter Dizileri Veri Türleri
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 2GB metin verisi saklar. | 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 karakter aralığını saklar.
Unicode Karakter Dizesi Veri Türleri
Veri tipi | Açıklama | Alt limit | Üst sınır | Bellek |
---|---|---|---|---|
nchar | Sabit genişlikte bir Unicode dizesidir | 0 karakter | 4000 karakter | 2 kere n bayt |
Nvarchar | Değişken genişlikte unicode bir dizedir | 0 karakter | 4000 karakter | 2 çarpı n bayt + 2 bayt |
metin | Değişken genişlikte unicode bir dizedir | 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 bir ikili dize içerir.
İkili Dize Veri Türleri
Veri tipi | Açıklama | Alt limit | Üst sınır | Bellek |
---|---|---|---|---|
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şliğe sahip 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şliğe sahip 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
SQL'deki Diğer Veri Türleri
Bunlar, aşağıda açıklanan diğer farklı SQL sunucusu veri türleridir.
Veri tipi | Açıklama |
---|---|
İmleç | Çıktısı bir sütundur sp_cursor_list ve sp_describe_cursor. İmleç değişkeninin adını döndürür. |
Satır sürümü | Bu sürüm tablo satırlarını damgalar. |
Hiyerarşik | 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 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ü Veri alırken SQL VARCHAR veri türünden 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 diğer çeşitli kategori bulunmaktadır. Diğer çeşitli kategorilerin dokuz alt kategorisi vardır SQL Server veri türleri ve boyutları mevcuttur.