Mis on andmetüüp?
Datatype defineeritakse tüüpi andmeid, mis tahes veeru või muutuva mahutab MS SQL Server.
Mis tahes tabeli või muutuja loomisel määrate lisaks nime täpsustamisele ka andmete tüübi, mida see salvestab.
Kuidas kasutada MS SQL-i andmetüüpi
- Peate eelnevalt määratlema, millist tüüpi andmeid veerg või muutuja saab salvestada. Andmetüübi määramine piirab ka kasutajat ootamatute või kehtetute andmete sisestamisel.
- Mälu saab tõhusalt kasutada, määrates muutujale või veerule sobiva andmetüübi, mis eraldab vastava veeru andmetele ainult vajaliku hulga süsteemimälu.
- MS SQL pakub laia kategooriat andmetüüpi vastavalt kasutaja vajadustele. Nagu kuupäev, binaarkujutised jne.
Selles õpetuses saate teada:
- Mis on andmetüüp?
- Kuidas kasutada MS SQL-i andmetüüpi
- Miks kasutada DataTypes?
- Täpne numbriline
- Ligikaudne numbriline
- Päev ja aeg
- Märgistringid
- Unicode'i märgistringid
- Binaarne string
- Muud andmetüübid
Miks kasutada DataTypes?
Võtame näite veebisaidi rakenduse lihtsast registreerumislehest . Kolm sisestusvälja on eesnimi, perekonnanimi ja kontakttunnus.
Siinkohal peaksime märkima, et reaalajas:
- "Ees / perekonnanimi" on alati tähestikuline .
- "Kontakt" on alati numbriline .
- Alates ülaltoodud pildil väärt määratlemisel "Eesnimi / perekonnanimi" kui iseloomu ja " Kontakt" kui täisarv .
On ilmne, et mis tahes rakenduses on kõigil väljadel üht või teist tüüpi andmeid. Nt numbriline, tähestikuline, kuupäev ja palju muud.
Pange tähele ka seda, et erinevatel andmetüüpidel on erinev mälunõue. Seetõttu on mõttekam veerg või muutuja määratleda selle andmetüübiga, mis talle mälu tõhusaks kasutamiseks sobib.
Andmetüüp on saadaval MS SQL-is
MS SQL server toetab järgmisi andmetüübi kategooriaid:
- Täpne numbriline
- Ligikaudne numbriline
- Päev ja aeg
- Märgistringid
- Unicode'i märgistringid
- Binaarsed stringid
- Muud andmetüübid

Täpne numbriline
Täpsel numbril on üheksa tüüpi alamandmete tüüpe. Täpsed numbrilised andmetüübid
Andmetüüp | Kirjeldus | Madalam limiit | Ülemine piir | Mälu |
---|---|---|---|---|
bigint | See salvestab täisarvud antud vahemikku | −2 63 (−9 223 372, 036 854 775 808) | 2 63-1 (−9,223,372, 036,854,775,807) | 8 baiti |
int | See salvestab täisarvud antud vahemikku | −2 31 (−2,147, 483,648) | 2 31-1 (−2,147, 483,647) | 4 baiti |
väike | See salvestab täisarvud antud vahemikku | −2 15 (−32 767) | 2 15 (−32 768) | 2 baiti |
tinyint | See salvestab täisarvud antud vahemikku | 0 | 255 | 1 bait |
natuke | Selleks võib kuluda 0, 1 või NULL. | 0 | 1 | 1 bait / 8-bitine veerg |
kümnendkoht | Kasutatakse skaala ja fikseeritud täpsusega numbrite jaoks | −10 38 + 1 | 10 381−1 | 5–17 baiti |
numbriline | Kasutatakse skaala ja fikseeritud täpsusega numbrite jaoks | −10 38 + 1 | 10 381−1 | 5–17 baiti |
raha | Kasutatud rahalised andmed | −922,337, 203, 685,477,5808 | +922,337, 203, 685,477,5807 | 8 baiti |
väikeraha | Kasutatud rahalised andmed | −214 478,3648 | +214 478 3664 | 4 baiti |
Näited:
Päring:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Väljund: 2
Süntaks: kümnendkoht (P, S)
Siin,
- P on täpsus
- S on skaala
Päring:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Väljund: 2.31
Ligikaudne numbriline
Ligikaudne arvkategooria sisaldab ujukoma ja tegelikke väärtusi. Neid kasutatakse enamasti teaduslikes arvutustes. Ligikaudne arvandmete tüüp
Andmetüüp | Kirjeldus | Madalam limiit | Ülemine piir | Mälu | Täpsus |
---|---|---|---|---|---|
ujuk (n) | Kasutatakse ujuva täpsusnumbri jaoks | -1,79E + 308 | 1,79E + 308 | Sõltub n väärtusest | 7 numbrit |
päris | Kasutatakse ujuva täpsusnumbri jaoks | −3,40E + 38 | 3.40E + 38 | 4 baiti | 15 numbrit |
Syntax: FLOAT [(n)]
Siin n on bittide arv, mida kasutatakse salvestada mantissi on float number teaduskuju. Vaikimisi on n väärtus 53.
Kui kasutaja määratleb sellist tüüpi andmetüübi nagu ujuk, peaks n väärtus olema vahemikus 1 kuni 53.
SQL Server käsitleb n ühte kahest võimalikust väärtusest. Kui 1 <= n <= 24, käsitletakse n kui 24. Kui 25 <= n <= 53, siis käsitletakse n kui 53.
Näite päring:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Väljund: 22.1234
Päev ja aeg
See salvestab kuupäeva ja kellaaja tüüpi andmeid. Kuupäeva ja kellaaja andmetüüp
Andmetüüp | Kirjeldus | Hoidla suurus | Täpsus | Madalam 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 |
smalldatetime | Kasutatakse kuupäeva ja kellaaja määramiseks 1. jaanuarist 0001 kuni 31. detsembrini 9999. Selle täpsus on 100 nanosekundit | 4 baiti, fikseeritud | 1 minut | 1900-01-01 | 2079-06-06 |
kuupäev | Kasutatakse ainult kuupäevaks 1. jaanuar 0001 kuni 31. detsember 9999 | 3 baiti, fikseeritud | 1 päev | 0001-01-01 | 9999-12-31 |
aeg | Kasutatakse ainult aja väärtuste salvestamiseks täpsusega 100 nanosekundit. | 5 baiti | 100 nanosekundit | 00: 00: 00.0000000 | 23: 59: 59.9999999 |
kuupäeva nihe | Sarnane kuupäevaajaga, kuid sellel on ajavööndi nihe | 10 baiti | 100 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 nanosekundit | 0001-01-01 | 9999-12-31 |
Näite päring:
DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date
Väljund: '2030-01-01'
Märgistringid
See kategooria on seotud tähemärgi tüübiga. See võimaldab kasutajal määratleda fikseeritud ja muutuva pikkusega märgi andmetüübi. Sellel on nelja tüüpi andmetüüpe. Märgistringide andmetüübid
Andmetüüp | Kirjeldus | Madalam limiit | Ülemine piir | Mälu |
---|---|---|---|---|
char | See on kindla laiusega märgistring. See salvestab maksimaalselt 8000 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 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äite päring:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Väljund: see on märgi andmebaasi tüüp
Unicode'i märgistringid
Sellesse kategooriasse salvestatakse kogu Unicode'i tähemärkide vahemik, 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 string | 0 tähemärki | 4000 tähemärki | 2 korda n baiti |
nvarchar | See on muutumatu laiusega unicode string | 0 tähemärki | 4000 tähemärki | 2 korda n baiti + 2 baiti |
ntext | See on muutumatu laiusega unicode string | 0 tähemärki | 1 073 741 823 süsinikku | 2-kordne stringi pikkus |
Näite päring:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Väljund: see on nCharacteri andmetüüp
Binaarne string
See kategooria sisaldab fikseeritud ja muutuva pikkusega binaarstringi. Binaarstringide andmetüübid
Andmetüüp | Kirjeldus | Madalam limiit | Ülemine piir | Mälu |
---|---|---|---|---|
binaarne | See on fikseeritud laiusega kahendstring. See salvestab maksimaalselt 8000 baiti. | 0 baiti | 8000 baiti | n baiti |
varbinaarne | See on muutuva laiusega binaarne string. See salvestab maksimaalselt 8000 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äite päring:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Väljund: 0x000C
Muud andmetüübid
Need on muud erinevad andmetüübid koos allpool toodud kirjeldusega-
Andmetüüp | Kirjeldus |
---|---|
Kursor | Selle väljund on veerud sp_cursor_list ja sp_describe_cursor. See tagastab kursori muutuja nime. |
Rea versioon | Selle versioon tembeldab tabeliread. |
Hierarhidiid | 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 veerus XML-andmeid. |
Ruumigeomeetria tüüp | See tähistab andmeid kindlas koordinaatsüsteemis. |
Ruumigeograafia tüüp | See tähistab andmeid ümmarguse maa koordinaatide süsteemis. |
tabel | See salvestab tulemuste komplekti hilisemaks töötlemiseks. |
Huvitavaid fakte!
- Andmetüüp CHAR on andmete hankimisel kiirem kui VARCHAR.
Kokkuvõte:
- Iga tabelite veerg määratleb tabeli loomisel oma andmetüübiga.
- Seal on kuus peamist kategooriat ja üks muu mitmesugune kategooria. Muudel mitmesugustel on saadaval üheksa andmetüüpide alamkategooriat.