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 |
| stvarne | 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.
