Što je tip podataka?
Vrsta podataka definira se kao tipu podataka koji svaki stup ili varijable mogu pohraniti u MS SQL Server.
Dok stvarate bilo koju tablicu ili varijablu, uz specificiranje imena, postavljate i vrstu podataka koje će pohraniti.
Kako se koristi MS SQL tip podataka
- Morate unaprijed definirati vrstu podataka u stupac ili varijablu. Određivanje vrste podataka također ograničava korisnika da unese neočekivane ili nevaljane podatke.
- Možete učinkovito koristiti memoriju dodjeljivanjem odgovarajuće vrste podataka varijabli ili stupcu koji će dodijeliti samo potrebnu količinu sistemske memorije za podatke odgovarajućeg stupca.
- MS SQL nudi široku kategoriju tipa podataka prema potrebama korisnika. Kao datum, binarne slike itd.
U ovom vodiču naučit ćete:
- Što je tip podataka?
- Kako se koristi MS SQL tip podataka
- Zašto koristiti DataTypes?
- Točno numerički
- Približni numerički
- Datum i vrijeme
- Nizovi znakova
- Nizovi znakova Unicode
- Binarni niz
- Ostali tipovi podataka
Zašto koristiti DataTypes?
Uzmimo uzorak jednostavne stranice za prijavu web stranice. Tri polja za unos su Ime, Prezime i Kontakt broj.
Ovdje bismo trebali primijetiti da u stvarnom vremenu:
- "Ime / prezime" uvijek će biti abecedno .
- "Kontakt" će uvijek biti numerički .
- Iz gornje slike vrijedi definirati "Ime / Prezime" kao znak, a " Kontakt" kao cijeli broj .
Očito je da u bilo kojoj aplikaciji sva polja imaju jednu ili drugu vrstu podataka. Npr. Brojčani, abecedni, datum i mnogi drugi.
Također, imajte na umu da različiti tip podataka ima različite potrebe za memorijom. Stoga je logičnije definirati stupac ili varijablu s tipom podataka koji će se nalaziti za učinkovito korištenje memorije.
Vrsta podataka dostupna u MS SQL-u
Podrška MS SQL poslužitelja sljedeće kategorije tipa podataka:
- Točan numerički
- Približni brojčani
- Datum i vrijeme
- Nizovi znakova
- Nizovi znakova Unicode
- Binarni nizovi
- Ostale vrste podataka
![](https://cdn.css-code.org/images/1/030819_0709_SQLServerDa2.png.webp)
Točno numerički
Točan numerički broj sadrži devet vrsta tipova pod-podataka. Točni numerički tipovi podataka
Vrsta podataka | Opis | Donja granica | Gornja granica | Memorija |
---|---|---|---|---|
bigint | Pohranjuje cijele brojeve u zadanom rasponu | −2 63 (−9.223.372, 036.854.775.808) | 2 63−1 (−9.223.372, 036.854.775.807) | 8 bajtova |
int | Pohranjuje cijele brojeve u zadanom rasponu | −2 31 (−2.147, 483.648) | 2 31−1 (−2.147, 483.647) | 4 bajta |
smallint | Pohranjuje cijele brojeve u zadanom rasponu | −2 15 (−32.767) | 2 15 (−32.768) | 2 bajta |
sićušna | Pohranjuje cijele brojeve u zadanom rasponu | 0 | 255 | 1 bajt |
malo | Može imati 0, 1 ili NULL vrijednosti. | 0 | 1 | 1 bajt / 8-bitni stupac |
decimal | Koristi se za brojeve skala i fiksne preciznosti | −10 38 + 1 | 10 381-1 | 5 do 17 bajtova |
brojčani | Koristi se za brojeve skala i fiksne preciznosti | −10 38 + 1 | 10 381-1 | 5 do 17 bajtova |
novac | Korišteni novčani podaci | −922.337, 203, 685.477.5808 | +922.337, 203, 685.477.5807 | 8 bajtova |
sitni novac | Korišteni novčani podaci | −214.478,3648 | +214.478,3647 | 4 bajta |
Primjeri:
Upit:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Izlaz: 2
Sintaksa: decimalni (P, S)
Ovdje,
- P je preciznost
- S je ljestvica
Upit:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Izlaz: 2,31
Približni numerički
Približna numerička kategorija uključuje pokretne zarez i stvarne vrijednosti. Uglavnom se koriste u znanstvenim proračunima. Približni numerički tip podataka
Vrsta podataka | Opis | Donja granica | Gornja granica | Memorija | Preciznost |
---|---|---|---|---|---|
plutati (n) | Koristi se za plutajući precizni broj | -1,79E + 308 | 1,79E + 308 | Ovisi o vrijednosti n | 7 znamenki |
stvaran | Koristi se za plutajući precizni broj | −3.40E + 38 | 3,40E + 38 | 4 bajta | 15 znamenki |
Syntax: FLOAT [(n)]
Ovdje je n broj bitova koji se koriste za pohranu mantise broja plovka u znanstvene zapise. Prema zadanim postavkama vrijednost n je 53.
Kada korisnik definira vrstu podataka poput float, n bi trebala biti vrijednost između 1 i 53.
SQL Server n tretira kao jednu od dvije moguće vrijednosti. Ako je 1 <= n <= 24, n se tretira kao 24. Ako je 25 <= n <= 53, n se tretira kao 53.
Primjer upita:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Izlaz: 22.1234
Datum i vrijeme
Pohranjuje podatke tipa Datum i vrijeme. Vrsta podataka o datumu i vremenu
Vrsta podataka | Opis | Veličina spremišta | Točnost | Donji domet | Gornji raspon |
---|---|---|---|---|---|
Datum vrijeme | Koristi se za određivanje datuma i vremena od 1. siječnja 1753. do 31. prosinca 9999. Točnost je 3,33 milisekunde. | 8 bajtova | Zaokruženo na korake od .000, .003, .007 | 1753-01-01 | 9999-12-31 |
malo vrijeme | Koristi se za određivanje datuma i vremena od 1. siječnja 0001. do 31. prosinca 9999. Točnost je 100 nanosekundi | 4 bajta, fiksno | 1 minuta | 1900-01-01 | 2079-06-06 |
datum | Koristi se za pohranu samo od 1. siječnja 0001. do 31. prosinca 9999 | 3 bajta, fiksno | 1 dan | 0001-01-01 | 9999-12-31 |
vrijeme | Koristi se za pohranu samo vremenskih vrijednosti s točnošću od 100 nanosekundi. | 5 bajtova | 100 nanosekundi | 00: 00: 00.0000000 | 23: 59: 59,9999999 |
datum-pomak | Slično vremenu podataka, ali ima pomak vremenske zone | 10 bajtova | 100 nanosekundi | 0001-01-01 | 9999-12-31 |
datum i vrijeme2 | Koristi se za određivanje datuma i vremena od 1. siječnja 0001. do 31. prosinca 9999 | 6 bajtova | 100 nanosekundi | 0001-01-01 | 9999-12-31 |
Primjer upita:
DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date
Izlaz: '2030-01-01'
Nizovi znakova
Ova se kategorija odnosi na tip znaka. Omogućuje korisniku da definira tip podataka koji može biti fiksne i promjenjive duljine. Ima četiri vrste podataka. Tipovi podataka znakovnih nizova
Vrsta podataka | Opis | Donja granica | Gornja granica | Memorija |
---|---|---|---|---|
ugljen | To je niz znakova fiksne širine. Pohranjuje najviše 8000 znakova. | 0 znakova | 8000 znakova | n bajtova |
varchar | Ovo je niz znakova s promjenjivom širinom | 0 znakova | 8000 znakova | n bajtova + 2 bajta |
varchar (maks.) | Ovo je niz znakova s promjenjivom širinom. Pohranjuje najviše 1.073.741.824 znakova. | 0 znakova | 2 31 znak | n bajtova + 2 bajta |
tekst | Ovo je niz znakova s promjenjivom širinom. Pohranjuje maksimalno 2 GB tekstualnih podataka. | 0 znakova | 2.147.483.647 znakova | n bajtova + 4 bajta |
Primjer upita:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Izlaz: ovo je tip podataka znaka
Nizovi znakova Unicode
Ova kategorija pohranjuje čitav raspon Unicode znakova koji koristi UTF-16 kodiranje znakova. Tipovi podataka niza znakova Unicode
Vrsta podataka | Opis | Donja granica | Gornja granica | Memorija |
---|---|---|---|---|
nchar | To je Unicode niz fiksne širine | 0 znakova | 4000 znakova | 2 puta n bajtova |
nvarchar | To je unicode niz promjenjive širine | 0 znakova | 4000 znakova | 2 puta n bajtova + 2 bajta |
ntekst | To je unicode niz promjenjive širine | 0 znakova | 1.073.741.823 čar | 2 puta duži niz |
Primjer upita:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Izlaz: Ovo je nCharacter tip podataka
Binarni niz
Ova kategorija sadrži binarni niz fiksne i promjenjive duljine. Vrste podataka binarnih nizova
Vrsta podataka | Opis | Donja granica | Gornja granica | Memorija |
---|---|---|---|---|
binarni | To je binarni niz fiksne širine. Pohranjuje maksimalno 8000 bajtova. | 0 bajtova | 8000 bajtova | n bajtova |
varbinarni | Ovo je binarni niz promjenjive širine. Pohranjuje maksimalno 8000 bajtova | 0 bajtova | 8000 bajtova | Stvarna duljina unesenih podataka + 2 bajta |
slika | Ovo je binarni niz promjenjive širine. Pohranjuje najviše 2 GB. | 0 bajtova | 2.147.483.647 bajtova |
Primjer upita:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Izlaz: 0x000C
Ostali tipovi podataka
To su druge različite vrste podataka s opisom u nastavku-
Vrsta podataka | Opis |
---|---|
Pokazivač | Njegov izlaz je stupac sp_cursor_list i sp_describe_cursor. Vraća ime varijable kursora. |
Redna verzija | Verzija označava redove tablice. |
Hijerarhija | Ovaj tip podataka predstavlja položaj u hijerarhiji |
Jedinstveni identifikator | Pretvorba iz izraza znakova. |
Sql_variant | Pohranjuje vrijednosti tipova podataka podržanih od SQL poslužitelja. |
XML | Pohranjuje XML podatke u stupac. |
Tip prostorne geometrije | Predstavlja podatke u ravnom koordinatnom sustavu. |
Tip prostorne geografije | Predstavlja podatke u koordinatnom sustavu okrugle zemlje. |
stol | Pohranjuje skup rezultata za kasniju obradu. |
Zanimljivosti!
- Tip podataka CHAR brži je od VARCHAR tijekom dohvaćanja podataka.
Sažetak:
- Svaki stupac u tablicama definira svojim tipom podataka tijekom stvaranja tablice.
- Postoji šest glavnih kategorija i još jedna razna kategorija. Ostale vrste imaju devet podkategorija vrsta podataka.