SQL Serveri andmetüübid koos näidetega

Mis on andmetüüp?

A Andmetüüp SQL serveris on defineeritud kui andmete tüüp, mida iga veerg või muutuja saab salvestada. See on teatud tüüpi andmed, mida objekt sisaldab, nagu täisarv, märk, string jne. Tabeli või muutuja loomisel määrate lisaks nime määramisele ka salvestatavate andmete tüübi.

Kuidas kasutada MS SQL andmetüüpi

  • Peate eelnevalt määratlema, millist tüüpi andmeid veerg või muutuja saab salvestada. Andmetüübi määramine piirab ka kasutajal ootamatute või kehtetute andmete sisestamist.
  • Saate mälu tõhusalt kasutada, määrates muutujale või veerule sobiva andmetüübi, mis eraldab vastava veeru andmete jaoks ainult vajaliku süsteemimälu.
  • MS SQL pakub laia kategooria põhiandmetüüpe SQL-is vastavalt kasutaja vajadustele, nagu kuupäev, binaarpildid jne.

Miks kasutada andmetüüpe?

Võtame näidise lihtsast Registreerumise leht Kolm sisestusvälja on eesnimi, perekonnanimi ja kontaktnumber.

Siin tuleks märkida, et reaalajas:

  • "Eesnimi/perekonnanimi" jääb alati tähestikuline.
  • „Kontakt” jääb alati arv-.
SQL serveri andmetüübid
Andmetüüpide näide MS SQL-is
  • Ülaltoodud pildi järgi tasub seda määratleda "Eesnimi/perekonnanimi" kui iseloom ja „Kontakt” nagu täisarv.

On ilmne, et igas rakenduses on kõigil väljadel üht või teist tüüpi andmeid. Nt numbrid, tähestikud, kuupäev ja palju muud.

Samuti pange tähele, et erinevatel andmetüüpidel on erinev mäluvajadus. Seetõttu on mõttekam määratleda veerg või muutuja koos andmetüübiga, mida see mälu tõhusaks kasutamiseks hoiab.

Andmetüüp on saadaval MS SQL Serveris

Siin on MS SQL serveri andmetüüpide loend:

MS SQL server toetab järgmisi andmetüüpide kategooriaid:

  • Täpne arv
  • Ligikaudne arv
  • Kuupäev ja kellaaeg
  • Tähemärgi stringid
  • Unicode'i märgistringid
  • Binaarsed stringid
  • Muud andmetüübid
Andmetüüp on saadaval MS SQL Serveris

MS SQL andmetüübid

Täpsed numbrilised andmetüübid SQL-is

Täpsel numbril on SQL-serveris üheksa tüüpi alamandmetüüpe.

Täpsed numbrilised andmetüübid

Andmetüüp Kirjeldus Madalam limiit Ülemine piir Mälu
bigint See salvestab täisarvud antud vahemikus −2^63 (−9,223,372 036,854,775,808 XNUMX, XNUMX XNUMX XNUMX XNUMX) 2^63−1 (−9,223,372, 036,854,775,807) 8 baiti
int See salvestab täisarvud antud vahemikus −2^31 (−2,147 483,648 XNUMX, XNUMX XNUMX XNUMX XNUMX) 2^31−1 (−2,147, 483,647) 4 baiti
smallint See salvestab täisarvud antud vahemikus −2^15 (−32,767 XNUMX) 2^15 (−32,768 XNUMX) 2 baiti
tilluke See salvestab täisarvud antud vahemikus 0 255 1 bait
natuke See võib võtta 0, 1 või NULL väärtusi. 0 1 1 bait / 8 bitine veerg
Kümnendkoht Kasutatakse skaala ja fikseeritud täppisnumbrite jaoks −10^38+1 10^381−1 5 kuni 17 baiti
arv- Kasutatakse skaala ja fikseeritud täppisnumbrite jaoks −10^38+1 10^381−1 5 kuni 17 baiti
raha Kasutatud rahalisi andmeid −922,337, 203, 685,477.5808 +922,337 203, 685,477.5807, XNUMX XNUMX XNUMX 8 baiti
väike raha Kasutatud rahalisi andmeid -214,478.3648 + 214,478.3647 4 baiti

Täpsed numbrilised andmetüübid SQL-server koos näidetega:

Päring:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

Väljund

2

Süntaks

Kümnend (P, S)

Siin

  • P on täpsus
  • S on skaala

Päring:

DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31
PRINT @Datatype_Decimal

Väljund

2.31

Ligikaudsed numbrilised andmetüübid SQL-is

SQL Ligikaudne numbrikategooria sisaldab ujukoma ja reaalväärtusi. Neid SQL-i andmetüüpe kasutatakse enamasti teaduslikes arvutustes.

Ligikaudne numbriline andmetüüp

Andmetüüp Kirjeldus Madalam limiit Ülemine piir Mälu Täpsus
ujuki (n) Kasutatakse ujuva täppisarvu jaoks −1.79E+308 1.79 + 308 Sõltub n väärtusest 7 Digit
reaalne Kasutatakse ujuva täppisarvu jaoks −3.40E+38 3.40 + 38 4 baiti 15 Digit
Syntax:  FLOAT [(n)]

Siin n on bittide arv, mida kasutatakse mantissi salvestamiseks ujuk arv teaduslikus tähistuses. Vaikimisi on n väärtus 53.

Kui kasutaja määrab andmetüübi, näiteks float, n peaks olema väärtus vahemikus 1 kuni 53.

SQL Server kohtleb n ühena kahest võimalikust väärtusest. Kui 1<=n<=24, käsitletakse n-i kui 24. Kui 25<=n<=53, käsitletakse n-i kui 53.

Näidispäring:

DECLARE @Datatype_Float FLOAT(24) = 22.1234
PRINT @Datatype_Float

Väljund

22.1234

Kuupäeva ja kellaaja andmetüübid SQL-is

See salvestab kuupäeva ja kellaaja tüüpi andmeid.

Kuupäeva ja kellaaja andmetüüp

Andmetüüp Kirjeldus Ladustamise suurus Täpsus Alumine vahemik Ülemine vahemik
Kuupäev Kellaaeg Kasutatakse kuupäeva ja kellaaja määramiseks 1. jaanuarist 1753 kuni 31. detsembrini 9999. Selle täpsus on 3.33 millisekundit. 8 baiti Ümardatud sammudeni 000, 003, 007 1753-01-01 9999-12-31
väike kuupäev Kasutatakse kuupäeva ja kellaaja määramiseks 1. jaanuarist 0001 kuni 31. detsembrini 9999. Selle täpsus on 100 nanosekundit 4 baiti, fikseeritud 1 minuti 1900-01-01 2079-06-06
andmed Kasutatud ainult kuupäeva salvestamiseks 1. jaanuarist 0001 kuni 31. detsembrini 9999 3 baiti, fikseeritud 1 päev 0001-01-01 9999-12-31
aeg Kasutatakse ainult aja väärtuste salvestamiseks 100 nanosekundi täpsusega. 5 baiti 100 XNUMX XNUMX nanosekundit 00:00:00.0000000 23:59:59.9999999
datetimeoffset Sarnaselt andmeajale, kuid sellel on ajavööndi nihe 10 baiti 100 XNUMX XNUMX nanosekundit 0001-01-01 9999-12-31
kuupäevaaeg2 Kasutatakse kuupäeva ja kellaaja määramiseks 1. jaanuarist 0001 kuni 31. detsembrini 9999 6 baiti 100 XNUMX XNUMX nanosekundit 0001-01-01 9999-12-31

Näidispäring:

DECLARE @Datatype_Date DATE = '2030-01-01'
PRINT @Datatype_Date

Väljund

'2030-01-01'

SQL-i märgistringide andmetüübid

See kategooria on seotud märgitüübiga. See võimaldab kasutajal määrata märgi andmetüübi, mis võib olla fikseeritud ja muutuva pikkusega. Sellel on nelja tüüpi andmetüüpe. Allpool on toodud märgistringi SQL-serveri andmetüübid koos näidetega.

Tähemärgistringide andmetüübid

Andmetüüp Kirjeldus Madalam limiit Ülemine piir Mälu
sõjavanker See on fikseeritud laiusega märgistring. See salvestab maksimaalselt 8,000 tähemärki. 0 tähemärki 8000 tähemärki n baiti
varchar See on muutuva laiusega märgistring 0 tähemärki 8000 tähemärki n baiti + 2 baiti
varchar (max) See on muutuva laiusega märgistring. See salvestab maksimaalselt 1,073,741,824 XNUMX XNUMX XNUMX tähemärki. 0 tähemärki 2^31 tähemärki n baiti + 2 baiti
tekst See on muutuva laiusega märgistring. See salvestab maksimaalselt 2 GB tekstiandmeid. 0 tähemärki 2,147,483,647 tähemärki n baiti + 4 baiti

Näidispäring:

DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'
PRINT @Datatype_Char

Väljund

See on tähemärgi andmetüüp

Unicode'i märgistringide andmetüübid SQL-is

See kategooria salvestab kogu Unicode'i märgivaliku, mis kasutab UTF-16 märgikodeeringut.

Unicode'i märgistringi andmetüübid

Andmetüüp Kirjeldus Madalam limiit Ülemine piir Mälu
nchar See on fikseeritud laiusega Unicode'i string 0 tähemärki 4000 tähemärki 2 korda n baiti
nvarchar See on muutuva laiusega unicode-string 0 tähemärki 4000 tähemärki 2 korda n baiti + 2 baiti
ntekst See on muutuva laiusega unicode-string 0 tähemärki 1,073,741,823 sümbolit 2 korda nööri pikkus

Näidispäring:

DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'
PRINT @Datatype_nChar

Väljund

See on nCharacter Datatype

SQL-i kahendstringi andmetüübid

See kategooria sisaldab fikseeritud ja muutuva pikkusega binaarset stringi.

Binaarsete stringide andmetüübid

Andmetüüp Kirjeldus Madalam limiit Ülemine piir Mälu
binaarne See on fikseeritud laiusega binaarne string. See salvestab maksimaalselt 8,000 baiti. 0 baiti 8000 baiti n baiti
varbinaarne See on muutuva laiusega binaarne string. See salvestab maksimaalselt 8,000 baiti 0 baiti 8000 baiti Sisestatud andmete tegelik pikkus + 2 baiti
pilt See on muutuva laiusega binaarne string. See salvestab maksimaalselt 2 GB. 0 baiti 2,147,483,647 baiti

Näidispäring:

DECLARE @Datatype_Binary BINARY(2) = 12;
PRINT @Datatype_Binary

Väljund

0x000C

Muud andmetüübid SQL-is

Need on muud erinevad SQL-serveri andmetüübid, mille kirjeldus on allpool-

Andmetüüp Kirjeldus
Kursor Selle väljund on veerg sp_kursori_loend ja sp_describe_cursor.
Tagastab kursori muutuja nime.
Rea versioon See versioon tembeldab tabeli ridu.
Hierarhiid See andmetüüp tähistab positsiooni hierarhias
Unikaalne identifikaator Teisendamine märgiväljendist.
Sql_variant See salvestab SQL-serveri toetatud andmetüüpide väärtused.
XML See salvestab XML-andmed veerus.
Ruumigeomeetria tüüp See kujutab andmeid lamedas koordinaatsüsteemis.
Ruumigeograafia tüüp See esindab andmeid ümara maa koordinaatide süsteemis.
tabel See salvestab tulemuste komplekti hilisemaks töötlemiseks.

Huvitavaid fakte!

kokkuvõte

  • Iga tabeli veerg määratletakse tabeli loomise ajal oma andmetüübiga.
  • Seal on kuus põhikategooriat ja veel üks mitmesugune kategooria. Muudel mitmesugustel toodetel on üheksa alamkategooriat SQL-server saadaolevad andmetüübid ja suurused.