Tipovi podataka SQL Servera s primjerima
Što je vrsta podataka?
A Tip podataka u SQL poslužitelju definiran je kao tip podataka koji bilo koji stupac ili varijabla može pohraniti. To je vrsta podataka koje objekt sadrži kao cijeli broj, znak, niz, itd. Dok stvarate bilo koju tablicu ili varijablu, osim navođenja imena, također postavljate vrstu podataka koje će pohraniti.
Kako koristiti MS SQL tip podataka
- Morate unaprijed definirati vrstu podataka koju stupac ili varijabla mogu pohraniti. Određivanje vrste podataka također ograničava korisnika od unosa neočekivanih ili nevažećih podataka.
- Memoriju možete učinkovito koristiti dodjeljivanjem odgovarajućeg tipa podataka varijabli ili stupcu koji će dodijeliti samo potrebnu količinu sistemske memorije za podatke dotičnog stupca.
- MS SQL nudi široku kategoriju osnovnih tipova podataka u SQL-u prema potrebama korisnika poput datuma, binarnih slika itd.
Zašto koristiti DataTypes?
Uzmimo jednostavan uzorak Stranica za prijavu aplikacije web stranice. Tri polja za unos su Ime, Prezime i Kontakt broj.
Ovdje treba napomenuti da u stvarnom vremenu:
- "Ime prezime" uvijek će biti abecedni.
- "Kontakt" uvijek će biti numerički.
- Iz gornje slike vrijedi definirati "Ime prezime" kao lik i "Kontakt" kao cijeli.
Očito je da u svakoj aplikaciji sva polja imaju jednu ili drugu vrstu podataka. Npr., numerički, abecedni, datumski i mnogi drugi.
Također imajte na umu da različite vrste podataka imaju različite zahtjeve za memorijom. Stoga je smislenije definirati stupac odn varijabla s tipom podataka koji će imati za učinkovito korištenje memorije.
Tip podataka dostupan u MS SQL Serveru
Ovdje je popis vrsta podataka MS SQL poslužitelja:
MS SQL poslužitelj podržava sljedeće kategorije vrste podataka:
- Točan broj
- Približan numerički
- Datum i vrijeme
- Nizovi znakova
- Unicode znakovni nizovi
- Binarni nizovi
- Ostali tipovi podataka
Točni numerički tipovi podataka u SQL-u
Exact numeric ima devet tipova podtipova podataka u SQL poslužitelju.
Točne numeričke vrste podataka
Tip podataka | Description | Donja granica | Gornja granica | memorija |
---|---|---|---|---|
bigint | Pohranjuje cijele brojeve u zadanom rasponu | −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 bajtova |
int | Pohranjuje cijele brojeve u zadanom rasponu | −2^31 (−2,147 483,648 XNUMX, XNUMX XNUMX XNUMX XNUMX) | 2^31−1 (−2,147, 483,647) | 4 bajtova |
smallint | Pohranjuje cijele brojeve u zadanom rasponu | −2^15 (−32,767 XNUMX) | 2^15 (−32,768 XNUMX) | 2 bajtova |
tinyint | Pohranjuje cijele brojeve u zadanom rasponu | 0 | 255 | Bajt 1 |
bit | Može uzeti 0, 1 ili NULL vrijednosti. | 0 | 1 | 1 bajt/8-bitni stupac |
decimal | Koristi se za mjerenje i brojeve fiksne preciznosti | −10^38+1 | 10^381−1 | 5 do 17 bajtova |
numerički | Koristi se za mjerenje i brojeve fiksne preciznosti | −10^38+1 | 10^381−1 | 5 do 17 bajtova |
novac | Korišteni monetarni podaci | −922,337, 203, 685,477.5808 | +922,337, 203, 685,477.5807 | 8 bajtova |
mali novac | Korišteni monetarni podaci | -214,478.3648 | + 214,478.3647 | 4 bajtova |
Točne numeričke vrste podataka u SQL poslužitelj s primjerima:
upita:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Izlaz
2
Sintaksa
Decimala (P,S)
Ovdje,
- P je preciznost
- S je mjerilo
upita:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
Izlaz
2.31
Približni numerički tipovi podataka u SQL-u
SQL Približna numerička kategorija uključuje pokretni zarez i stvarne vrijednosti. Ovi se tipovi podataka u SQL-u uglavnom koriste u znanstvenim izračunima.
Približna numerička vrsta podataka
Tip podataka | Description | Donja granica | Gornja granica | memorija | Preciznost |
---|---|---|---|---|---|
float(n) | Koristi se za broj s pokretnom preciznošću | −1.79E+308 | 1.79 + 308 | Ovisi o vrijednosti n | 7 Digit |
pravi | Koristi se za broj s pokretnom preciznošću | −3.40E+38 | 3.40 + 38 | 4 bajtova | 15 Digit |
Syntax: FLOAT [(n)]
Ovdje, n je broj bitova koji se koriste za pohranjivanje mantise od plutati broj u znanstvenom zapisu. Prema zadanim postavkama, vrijednost n je 53.
Kada korisnik definira tip podataka kao što je float, n trebala bi biti vrijednost između 1 i 53.
SQL Server poslastice n kao jedna 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.1234 PRINT @Datatype_Float
Izlaz
22.1234
Vrste podataka datuma i vremena u SQL-u
Pohranjuje podatke tipa Datum i vrijeme.
Vrsta podataka datuma i vremena
Tip podataka | Description | Veličina spremišta | Točnost | Donji raspon | Gornji raspon |
---|---|---|---|---|---|
Datum vrijeme | Koristi se za određivanje datuma i vremena od 1. siječnja 1753. do 31. prosinca 9999. Ima točnost od 3.33 milisekunde. | 8 bajtova | Zaokruženo na povećanje od .000, .003, .007 | 1753-01-01 | 9999-12-31 |
mali datumvrijeme | Koristi se za određivanje datuma i vremena od 1. siječnja 0001. do 31. prosinca 9999. Ima točnost od 100 nanosekundi | 4 bajta, fiksno | 1 minuta | 1900-01-01 | 2079-06-06 |
podaci | Koristi se samo za pohranu datuma od 1. siječnja 0001. do 31. prosinca 9999. | 3 bajta, fiksno | 1 dan | 0001-01-01 | 9999-12-31 |
vrijeme | Koristi se za pohranjivanje samo vremenskih vrijednosti s točnošću od 100 nanosekundi. | 5 bajtova | 100 nanosekundi | 00:00:00.0000000 | 23:59:59.9999999 |
datetimeoffset | Slično datatimeu, 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'
Tipovi podataka nizova znakova u SQL-u
Ova kategorija je povezana s tipom znaka. Omogućuje korisniku da definira tip podataka znaka koji može biti fiksne i promjenjive duljine. Ima četiri vrste podataka. Ispod su tipovi podataka SQL poslužitelja znakovnog niza s primjerima.
Tipovi podataka nizova znakova
Tip podataka | Description | Donja granica | Gornja granica | memorija |
---|---|---|---|---|
čađ | To je niz znakova s fiksnom širinom. Pohranjuje najviše 8,000 znakova. | 0 znaka | 8000 znaka | n bajtova |
varchar | Ovo je niz znakova s promjenjivom širinom | 0 znaka | 8000 znaka | n bajtova + 2 bajta |
varchar (maks.) | Ovo je niz znakova s promjenjivom širinom. Pohranjuje najviše 1,073,741,824 znakova. | 0 znaka | 2^31 znakova | n bajtova + 2 bajta |
tekst | Ovo je niz znakova s promjenjivom širinom. Pohranjuje najviše 2 GB tekstualnih podataka. | 0 znaka | 2,147,483,647 znaka | n bajtova + 4 bajta |
Primjer upita:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
Izlaz
Ovo je Character Datatype
Tipovi podataka Unicode nizova znakova u SQL-u
Ova kategorija pohranjuje cijeli niz Unicode znakova koji koriste UTF-16 kodiranje znakova.
Tipovi podataka Unicode znakovnog niza
Tip podataka | Description | Donja granica | Gornja granica | memorija |
---|---|---|---|---|
nchar | To je Unicode niz fiksne širine | 0 znaka | 4000 znaka | 2 puta n bajtova |
nvarchar | To je unicode niz promjenjive širine | 0 znaka | 4000 znaka | 2 puta n bajtova + 2 bajta |
ntext | To je unicode niz promjenjive širine | 0 znaka | 1,073,741,823 znakova | 2 puta duljina žice |
Primjer upita:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
Izlaz
Ovo je tip podataka nCharacter
Tipovi podataka binarnog niza u SQL-u
Ova kategorija sadrži binarni niz fiksne i promjenjive duljine.
Vrste podataka binarnog niza
Tip podataka | Description | Donja granica | Gornja granica | memorija |
---|---|---|---|---|
binarni | To je binarni niz fiksne širine. Pohranjuje najviše 8,000 bajtova. | 0 bajtova | 8000 bajtova | n bajtova |
varbinarni | Ovo je binarni niz promjenjive širine. Pohranjuje najviše 8,000 bajtova | 0 bajtova | 8000 bajtova | Stvarna duljina unesenih podataka + 2 bajta |
slika | Ovo je binarni niz promjenjive širine. Pohranjuje maksimalno 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 u SQL-u
Ovo su drugi različiti tipovi podataka SQL poslužitelja s opisom u nastavku-
Tip podataka | Description |
---|---|
Pokazivač | Njegov izlaz je stupac od sp_popis_pokazivača i sp_describe_cursor. Vraća naziv varijable kursora. |
Redna verzija | Njegova verzija označava retke tablice. |
Hijerarhija | Ovaj tip podataka predstavlja poziciju u hijerarhiji |
Jedinstveni identifikator | Pretvorba iz znakovnog izraza. |
Sql_varijanta | Pohranjuje vrijednosti tipova podataka koje podržava SQL poslužitelj. |
XML | Pohranjuje XML podatke u stupac. |
Vrsta prostorne geometrije | Predstavlja podatke u ravnom koordinatnom sustavu. |
Vrsta prostorne geografije | Predstavlja podatke u koordinatnom sustavu okrugla Zemlja. |
stol | Pohranjuje skup rezultata za kasniju obradu. |
Zanimljivosti!
- CHAR tip podataka brži je od tipa podataka SQL VARCHAR tijekom dohvaćanja podataka.
rezime
- Svaki stupac u tablicama definira se svojim tipom podataka tijekom izrade tablice.
- Postoji šest glavnih kategorija i jedna druga kategorija. Ostalo razno ima devet potkategorija SQL poslužitelj dostupne vrste i veličine podataka.