SQL Server DataTypes: Varchar, Sayısal, Tarih Saat (T-SQL Örnekleri)

İçindekiler:

Anonim

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
MSQL 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.