Tipovi podataka SQL Servera s primjerima
⚡ Pametni sažetak
Tipovi podataka SQL Servera definiraju vrstu vrijednosti koju stupac ili varijabla može pohraniti, kao što su cijeli broj, decimalni broj, znak, datum ili binarna vrijednost. Odabirom ispravne vrste osiguravaju se valjani podaci i učinkovito koristi memorija.

Što je vrsta podataka?
Vrsta podataka u MS SQL poslužitelj definira se kao vrsta podataka koje bilo koji stupac ili varijabla može pohraniti. To je vrsta podataka koje objekt sadrži, kao što su cijeli broj, znak ili niz. Prilikom stvaranja bilo kojeg stol or varijabla, osim što određujete naziv, postavljate i vrstu podataka koje će pohranjivati.
Kako koristiti MS SQL tip podataka
Unaprijed morate definirati vrstu podataka koje stupac ili varijabla može 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, što dodjeljuje samo potrebnu količinu sistemske memorije za podatke tog stupca.
MS SQL nudi širok raspon osnovnih tipova podataka u SQL kako bi odgovarale potrebama korisnika, kao što su datum, binarni podaci, slike i drugo.
Zašto koristiti DataTypes?
Razmotrite primjer jednostavne stranice za registraciju za web aplikaciju. Tri polja za unos su Ime, Prezime i Broj telefona.
Ovdje treba napomenuti da u stvarnim scenarijima:
- „Ime/Prezime“ će uvijek biti abecedno.
- „Kontakt“ će uvijek biti numerički.
Primjer u nastavku ilustrira ova polja na obrascu za prijavu.
Iz gornje slike ima smisla 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, na primjer numeričke, abecedne, datumske i mnoge druge.
Također imajte na umu da različite vrste podataka imaju različite memorijske zahtjeve. Stoga je logičnije definirati stupac ili varijablu s tipom podataka koji će sadržavati, radi učinkovite upotrebe memorije.
Tip podataka dostupan u MS SQL Serveru
Ovdje je popis tipova podataka MS SQL Servera. MS SQL Server podržava sljedeće kategorije tipova podataka:
- Točan broj
- Približan numerički
- Datum i vrijeme
- Nizovi znakova
- Unicode znakovni nizovi
- Binarni nizovi
- Ostali tipovi podataka
Donji dijagram grupira tipove podataka MS SQL Servera u ove kategorije.
Točni numerički tipovi podataka u SQL-u
Točni brojevi imaju devet podtipova podataka u SQL Serveru. Svaki pohranjuje cijele ili brojeve s fiksnom točkom unutar definiranog raspona.
| 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) | 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) | 2^31−1 (2,147,483,647) | 4 bajtova |
| smallint | Pohranjuje cijele brojeve u zadanom rasponu | −2^15 (−32,768 XNUMX) | 2^15−1 (32,767) | 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^38−1 | 5 do 17 bajtova |
| numerički | Koristi se za mjerenje i brojeve fiksne preciznosti | −10^38+1 | 10^38−1 | 5 do 17 bajtova |
| novac | Koristi se za monetarne podatke | -922,337,203,685,477.5808 | + 922,337,203,685,477.5807 | 8 bajtova |
| mali novac | Koristi se za monetarne podatke | -214,478.3648 | + 214,478.3647 | 4 bajtova |
Točni numerički tipovi podataka u SQL Serveru s primjerima:
upita:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Izlaz:
2
Sintaksa:
Decimal (P,S)
Ovdje je P preciznost, a S skala.
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-ova približna numerička kategorija uključuje vrijednosti s pomičnim zarezom i realne vrijednosti. Ovi tipovi podataka uglavnom se koriste u znanstvenim izračunima.
| 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 | 15 znamenke |
| stvarne | Koristi se za broj s pokretnom preciznošću | −3.40E+38 | 3.40 + 38 | 4 bajtova | 7 znamenke |
Tip float koristi sljedeću sintaksu:
Syntax: FLOAT [(n)]
Ovdje je n broj bitova koji se koriste za pohranu mantise broja s pomičnim zarezom u znanstvenom zapisu. Prema zadanim postavkama, vrijednost n je 53.
Kada definirate tip podataka poput float, n treba biti vrijednost između 1 i 53. SQL Server tretira n 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.1234 PRINT @Datatype_Float
Izlaz:
22.1234
Vrste podataka datuma i vremena u SQL-u
Ova kategorija pohranjuje podatke tipa datum i vrijeme.
| 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 1900. do 6. lipnja 2079. Točnost je 1 minute. | 4 bajta, fiksno | 1 minuta | 1900-01-01 | 2079-06-06 |
| podaci | Koristi se za pohranjivanje samo 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 kao datetime, 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 se odnosi na tipove znakova. Omogućuje vam definiranje podataka o znakovima fiksne i promjenjive duljine. Ima četiri vrste tipova podataka. U nastavku su navedeni tipovi podataka niza znakova s primjerima.
| 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 promjenjive širine. Pohranjuje maksimalno 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 raspon Unicode znakova, koji koriste kodiranje znakova UTF-16.
| 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 znaka | 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 binarne nizove fiksne i promjenjive duljine.
| Tip podataka | Description | Donja granica | Gornja granica | memorija |
|---|---|---|---|---|
| binarni | To je binarni niz fiksne širine. Pohranjuje maksimalno 8,000 bajtova. | 0 bajtova | 8000 bajtova | n bajtova |
| varbinarni | Ovo je binarni niz promjenjive širine. Pohranjuje maksimalno 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 ostale vrste podataka SQL Servera, s njihovim opisima u nastavku:
| Tip podataka | Description |
|---|---|
| Pokazivač | Njegov izlaz je stupac sp_cursor_list i sp_describe_cursor. Vraća naziv varijable kursora. |
| Verzija retka | Označava verzije u retke tablice. |
| Hijerarhija | Ovaj tip podataka predstavlja poziciju u hijerarhiji. |
| Jedinstveni identifikator | Pohranjuje GUID, često pretvoren iz znakovnog izraza. |
| Sql_varijanta | Pohranjuje vrijednosti tipova podataka koje podržava SQL Server. |
| 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!
- Tip podataka CHAR je brži od tipa podataka VARCHAR prilikom dohvaćanja podataka, jer njegova fiksna širina izbjegava gubljenje duljine.ping.


