
SQL (Structured Query Language) je moćan jezik koji se koristi za upravljanje i manipulaciju podacima u bazama podataka. Pre nego što napravimo prvu bazu, pa zatim i tabelu, važno je upoznati se sa tipovima podataka u SQL-u, kako bismo efikasno organizovali i upravljali podacima u našoj bazi podataka. Tipovi podataka služe za definisanja vrednosti koja se može čuvati u datoj koloni.
Bilo da se bavimo projektovanjem baza podataka, kreiranjem izveštaja, analizom podataka i sl. bitno je poznavati koje se vrste podataka mogu čuvati i na koji način se mogu upotrebljavati.
U nastavku navodimo nekoliko osnovnih tipova podataka u SQL-u:
Numerički:
INT (integer) – koji se koristi za smeštanje celobrojnih vrednosti. Može se koristiti za čuvanje podataka kao što su različite šifre proizvoda, kupaca ili količina. Zauzima 4 bajta.

Ukoliko bismo uneli decimalnu vrednost, bila bi konvertovana u tip integer.

DECIMAL – koristi za čuvanje decimalnih brojeva sa fiksnim brojem decimalnih mesta. Ovaj tip podataka često se koristi za čuvanje finansijskih podataka, gde je preciznost brojeva od velike važnosti.
Kolona definisana kao decimal (18,2) čuva maksimalno 18 brojeva, od čega su 2 broja posle decimalne tačke.

Ukoliko bismo uneli broj sa više od 2 decimalna mesta i dalje bi bila upisana samo 2 decimalna mesta posle zareza.

Ukoliko bismo deklarisali promenljivu kao decimal(18,4), upisale bi se 4 decimale.

BIT – koristi za čuvanje binarnih vrednosti koje mogu imati samo dve vrednosti: 0 ili 1. Ovaj tip podataka često se koristi za definisanje logičkih vrednosti, gde 1 označava tačno, a 0 netačno. Zauzima 1 bit u memoriji.

Karakteri:
CHAR – koristi se čuvanje vrednosti, tj. karaktera fiksne dužine. Pogodan je šifarnike ili oznake koje imaju uvek isti broj karaktera. Svaki karakter zauzima 1 bajt, a omogućava čuvanje maksimalno 8000 karaktera koji nisu Unicode.
Ukoliko se unese broj karaktera koji je manji od maksimalno definisane dužine, prostor će ostati neiskorišćen, ali će i dalje zauzimati definisani broj karaktera.
U primeru ispod promenljiva @Index je deklarisana tako da omogućava čuvanje 3 karaktera, dodeljena joj je vrednost od 2 karaktera, a sačuvan je i treći karakter koji se ne vidi. Zato je preporuka da se tip char koristi u situacijama kada su vrednosti fiksne dužine.

NCHAR – koristi se čuvanje vrednosti fiksne dužine, a maksimalno čuva 4000 karaktera, koji uključuju i Unicode karaktere. Svaki karakter zauzima 2 bajta.

VARCHAR – koristi se za čuvanje vrednosti promenljive dužine. Svaki karakter zauzima 1 bajt, a omogućava čuvanje maksimalno 8000 karaktera koji nisu Unicode.
Ukoliko promenljivu @Index deklarišemo kao tip varchar (3), ona će koristiti samo onoliko prostora koliko je potrebno, tj. 2 karaktera u primeru ispod.

Ukoliko unesemo više karaktera nego što je deklarisano, zapisaće se maksimalno mogući broj karaktera.

NVARCHAR – koristi se čuvanje vrednosti promenjiive dužine, a maksimalno čuva 4000 karaktera, koji uključuju i Unicode karaktere. Svaki karakter zauzima 2 bajta.
Vremenski i datumski:
DATE – koristi se za čuvanje datuma, bez informacija o vremenu.

TIME – koristi se za čuvanje informacija o vremenu, bez datuma.

DATETIME – koristi se za čuvanje datuma i vremena.

SMALLDATETIME – sličan je Datetime tipu. Datetime čuva datum i vreme u rasponu od 1753-01-01 do 9999-2-31, a Smalldatetime čuva u rasponu od 1900-01-01 do 2079-01-01.
Najćešće korišćeni tipovi podataka pobrojani su ispod u tabeli:
