В мові SQL підтримуються такі типи даних: CHAR, VARCHAR, NUMERIC, DECIMAL, INTEGER, SMALLINT, FLOAT, SMALLFLOAT, REAL, DOUBLE PRECISION, DATE, DATETIME, TEXT, MONEY, BIT. Ці типи даних класифікуються на типи рядків символів, точних чисел і приблизних чисел.
CHAR (n)
n задає довжину рядка даного типу.
Літеральні рядки символів зображаються у вигляді “послідовність-символів” (наприклад "example").
VARCHAR (n,r)
n - максимальна довжина (не більше 255), r - необов`язковий параметр, який встановлює нижню границю довжини елементів даних.
NUMERIC [(p[,s])]
до нього відносяться точні числа, які задаються довжиною числа p і кількістю десятичних знаків s. Якщо опущено s, то вважається, що s=0, а якщо опущено p, то значення по змовчаню визначається в реалізації
DECIMAL (p[,s])]
аналогічний NUMERIC
INTEGER
цілі числа в діапазонні від -2.147.483.647 до 2.147.483.646 (займає 4 байта)
SMALLINT
цілі числа в діапазонні від -32.768 до 32.767 (займає 2 байта)
FLOAT [(p)]
двійкові числа з подвійної точності, з плаваючою точкою, із знаком, де p - довжина числа
REAL, SMALLFLOAT
двійкові числа з одинарною точністю, визначеною в реалізації, взяті по модулю (без знака)
DOUBLE PRECISION
тип даних приблизних чисел з точністю, визначеною в реалізації і більшою, ніж точність типу REAL
Відмітимо, що хоч і можна за допомогою мови SQL визначити схему БД, яка містить дані будь-якого з перерахованих типів, можливість використання цих даних в прикладних системах залежить від застосованої мови програмування.
Відмітимо також, що в більшості реалізацій SQL підтримуються деякі додаткові типи даних.
DATE
використовується для зберігання календарних дат (день, місяць, рік)
DATETIME
використовується для зберігання календарних дат та часу (день, місяць, рік, година, хвилина, секунда)