Kaj je tip podatkov?
Podatkovni tip je opredeljen kot vrsta podatkov, ki jih lahko kateri koli stolpec ali spremenljivka shrani v MS SQL Server.
Med ustvarjanjem katere koli tabele ali spremenljivke poleg določanja imena nastavite tudi vrsto podatkov, ki jih bo shranila.
Kako uporabljati podatkovni tip MS SQL
- Vnaprej morate določiti vrsto podatkov, ki jih lahko shrani stolpec ali spremenljivka. Določitev podatkovnega tipa uporabniku tudi omejuje vnos nepričakovanih ali neveljavnih podatkov.
- Pomnilnik lahko učinkovito uporabite tako, da spremenljivki ali stolpcu dodelite ustrezen podatkovni tip, ki bo za podatke ustreznega stolpca dodelil le zahtevano količino sistemskega pomnilnika.
- MS SQL ponuja široko kategorijo podatkovnega tipa glede na potrebe uporabnika. Kot datum, binarne slike itd.
V tej vadnici boste izvedeli:
- Kaj je tip podatkov?
- Kako uporabljati podatkovni tip MS SQL
- Zakaj uporabljati DataTypes?
- Natančno številčno
- Približna številčna
- Datum in čas
- Niz znakov
- Nizi znakov Unicode
- Binarni niz
- Drugi tipi podatkov
Zakaj uporabljati DataTypes?
Vzemimo vzorec preproste strani za prijavo na spletni strani. Tri vnosna polja so ime, priimek in kontaktna številka.
Tu moramo opozoriti, da v realnem času:
- "Ime / Priimek" bo vedno v abecednem vrstnem redu .
- "Kontakt" bo vedno številčen .
- Iz zgornje slike je vredno določiti "Ime / Priimek" kot znak in " Stik" kot celo število .
Očitno je, da imajo vsa polja v kateri koli aplikaciji eno ali drugo vrsto podatkov. Npr. Številčno, abecedno, datum in še veliko več.
Upoštevajte tudi, da imajo različne vrste podatkov različne zahteve glede pomnilnika. Zato je bolj smiselno določiti stolpec ali spremenljivko s podatkovnim tipom, ki ga bo imel za učinkovito uporabo pomnilnika.
Podatkovni tip je na voljo v MS SQL
Strežnik MS SQL podpira naslednje kategorije podatkovnega tipa:
- Natančno številčno
- Približno številčno
- Datum in čas
- Niz znakov
- Nizi znakov Unicode
- Binarni nizi
- Druge vrste podatkov
Natančno številčno
Natančna številka ima devet vrst podpodatkovnih tipov. Natančne numerične vrste podatkov
Vrsta podatkov | Opis | Spodnja meja | Zgornja meja | Spomin |
---|---|---|---|---|
bigint | Shrani cele številke v danem obsegu | −2 63 (−9.223.372, 036.854.775.808) | 2 63−1 (−9.223.372, 036.854.775.807) | 8 bajtov |
int | Shrani cele številke v danem obsegu | −2 31 (−2.147, 483.648) | 2 31−1 (−2.147, 483.647) | 4 bajti |
smallint | Shrani cele številke v danem obsegu | −2 15 (−32.767) | 2 15 (−32.768) | 2 bajta |
tinyint | Shrani cele številke v danem obsegu | 0 | 255 | 1 bajt |
bit | Lahko ima vrednosti 0, 1 ali NULL. | 0 | 1. | 1 bajt / 8-bitni stolpec |
decimalno | Uporablja se za skale in fiksne natančne številke | −10 38 + 1 | 10 381-1 | 5 do 17 bajtov |
številčno | Uporablja se za skale in fiksne natančne številke | −10 38 + 1 | 10 381-1 | 5 do 17 bajtov |
denarja | Uporabljeni denarni podatki | −922.337, 203, 685.477.5808 | +922.337, 203, 685.477.5807 | 8 bajtov |
drobni denar | Uporabljeni denarni podatki | −214.478,3648 | +214.478,3647 | 4 bajti |
Primeri:
Poizvedba:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Izhod: 2
Sintaksa: decimalna (P, S)
Tukaj,
- P je natančnost
- S je lestvica
Poizvedba:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Izhod: 2,31
Približna številčna
Približna številska kategorija vključuje plavajočo vejico in realne vrednosti. Večinoma se uporabljajo pri znanstvenih izračunih. Približni številski tip podatkov
Vrsta podatkov | Opis | Spodnja meja | Zgornja meja | Spomin | Natančnost |
---|---|---|---|---|---|
float (n) | Uporablja se za plavajočo natančno številko | -1,79E + 308 | 1,79E + 308 | Odvisno od vrednosti n | 7 števk |
resnično | Uporablja se za plavajočo natančno številko | -3,40E + 38 | 3,40E + 38 | 4 bajti | 15 števk |
Syntax: FLOAT [(n)]
Tu je n število bitov, ki se uporabljajo za shranjevanje mantise številke plovca v znanstvenem zapisu. Privzeto je vrednost n 53.
Ko uporabnik definira podatkovni tip, kot je float, mora biti n vrednost med 1 in 53.
SQL Server obravnava n kot eno od dveh možnih vrednosti. Če je 1 <= n <= 24, se n obravnava kot 24. Če je 25 <= n <= 53, se n obravnava kot 53.
Primer poizvedbe:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Izhod: 22.1234
Datum in čas
Shranjuje podatke vrste Datum in čas. Vrsta podatkov o datumu in uri
Vrsta podatkov | Opis | Velikost prostora za shranjevanje | Natančnost | Spodnji domet | Zgornje območje |
---|---|---|---|---|---|
Datum čas | Uporablja se za določanje datuma in ure od 1. januarja 1753 do 31. decembra 9999. Ima natančnost 3,33 milisekunde. | 8 bajtov | Zaokroženo na korake po .000, .003, .007 | 1753-01-01 | 9999-12-31 |
mali čas | Uporablja se za določanje datuma in ure od 1. januarja 0001 do 31. decembra 9999. Ima natančnost 100 nanosekund | 4 bajti, fiksno | 1 minuto | 1900-01-01 | 2079-06-06 |
datum | Uporablja se za shranjevanje samo od 1. januarja 0001 do 31. decembra 9999 | 3 bajti, fiksno | 1 dan | 0001-01-01 | 9999-12-31 |
čas | Uporablja se za shranjevanje samo časovnih vrednosti s točnostjo 100 nanosekund. | 5 bajtov | 100 nanosekund | 00: 00: 00.0000000 | 23: 59: 59,9999999 |
datetimeoffset | Podobno kot čas podatkov, vendar ima odmik časovnega pasu | 10 bajtov | 100 nanosekund | 0001-01-01 | 9999-12-31 |
datetime2 | Uporablja se za določanje datuma in ure od 1. januarja 0001 do 31. decembra 9999 | 6 bajtov | 100 nanosekund | 0001-01-01 | 9999-12-31 |
Primer poizvedbe:
DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date
Izhod: '2030-01-01'
Niz znakov
Ta kategorija je povezana s tipom znaka. Uporabniku omogoča, da določi podatkovni tip znaka, ki je lahko nespremenljive in spremenljive dolžine. Ima štiri vrste podatkovnih vrst. Vrste podatkovnih nizov znakov
Vrsta podatkov | Opis | Spodnja meja | Zgornja meja | Spomin |
---|---|---|---|---|
char | To je niz znakov s fiksno širino. Shrani največ 8000 znakov. | 0 znakov | 8000 znakov | n bajtov |
varchar | To je niz znakov s spremenljivo širino | 0 znakov | 8000 znakov | n bajtov + 2 bajta |
varchar (največ) | To je niz znakov s spremenljivo širino. Shrani največ 1.073.741.824 znakov. | 0 znakov | 2 31 znakov | n bajtov + 2 bajta |
besedilo | To je niz znakov s spremenljivo širino. Shrani največ 2 GB besedilnih podatkov. | 0 znakov | 2.147.483.647 znakov | n bajtov + 4 bajtov |
Primer poizvedbe:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Izhod: to je tip podatkov o znaku
Nizi znakov Unicode
V tej kategoriji je shranjen celoten obseg znakov Unicode, ki uporablja kodiranje znakov UTF-16. Vrste podatkovnih nizov Unicode
Vrsta podatkov | Opis | Spodnja meja | Zgornja meja | Spomin |
---|---|---|---|---|
nchar | To je niz Unicode s fiksno širino | 0 znakov | 4000 znakov | 2-krat n bajtov |
nvarchar | To je unicode niz spremenljive širine | 0 znakov | 4000 znakov | 2 krat n bajtov + 2 bajta |
ntext | To je unicode niz spremenljive širine | 0 znakov | 1.073.741.823 char | 2-krat večja od dolžine niza |
Primer poizvedbe:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Izhod: to je tip podatkov nCharacter
Binarni niz
Ta kategorija vsebuje binarni niz fiksne in spremenljive dolžine. Vrste podatkov binarnih nizov
Vrsta podatkov | Opis | Spodnja meja | Zgornja meja | Spomin |
---|---|---|---|---|
binarno | Je binarni niz fiksne širine. Shrani največ 8000 bajtov. | 0 bajtov | 8000 bajtov | n bajtov |
varbinarno | To je binarni niz spremenljive širine. Shrani največ 8000 bajtov | 0 bajtov | 8000 bajtov | Dejanska dolžina vnesenih podatkov + 2 bajta |
slike | To je binarni niz spremenljive širine. Shrani lahko največ 2 GB. | 0 bajtov | 2.147.483.647 bajtov |
Primer poizvedbe:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Izhod: 0x000C
Drugi tipi podatkov
To so druge različne vrste podatkov s spodnjim opisom -
Vrsta podatkov | Opis |
---|---|
Kazalec | Njegov izhod je stolpec sp_cursor_list in sp_describe_cursor. Vrne ime spremenljivke kurzorja. |
Vrstna različica | Različica žigosa vrstice tabele. |
Hierarhija | Ta podatkovni tip predstavlja položaj v hierarhiji |
Uniqueidentifier | Pretvorba iz izraza znaka. |
Sql_variant | Shranjuje vrednosti tipov podatkov, ki jih podpira strežnik SQL. |
XML | Podatke XML shrani v stolpec. |
Tip prostorske geometrije | Predstavlja podatke v ravnem koordinatnem sistemu. |
Tip prostorske geografije | Predstavlja podatke v koordinatnem sistemu okrogle zemlje. |
tabela | Shrani nabor rezultatov za poznejšo obdelavo. |
Zanimiva dejstva!
- Podatkovni tip CHAR je med pridobivanjem podatkov hitrejši od VARCHAR.
Povzetek:
- Vsak stolpec v tabelah med ustvarjanjem tabel definira svoj tip podatkov.
- Obstaja šest glavnih kategorij in še ena razna kategorija. Na voljo je devet različnih podkategorij podatkovnih vrst.