Типи даних, які згідно стандарту ANSI/ISO можуть бути присутні в мові SQL, складаються з символів і різних типів чисел. У свою чергу, останні можна розділити на точні числа і приблизні числа. Точні числові типи - це номери з десятковою крапкою або без такої Приблизні числові типи - це номери в показовому записі. Для інших типів даних відмінності не є істотними.
Часто типи даних використовують значення, який називають розміром .аргумента, чий точний формат і значення міняється залежно від конкретного типу. Значення за умовчанням забезпечені для bcsx типів даних, якщо розмір аргументу відсутній.
1. СНАR. Для текстових даних використовується тип даних СНАR (довжина) (або CHARACTER) - це рядок тексту, причому розмір аргументу тут ця ненегативна ціла однина, яка визначає максимальну довжину рядка. Значення цього типу, повинні бути укладені в одиночні лапки, наприклад 'text'. Дві що поряд коштують одиночних лапок (") усередині рядка розумітимуться як одна одиночна лапка (“”).
У SQL2 допускається використовування типа VARCHAR(,zunraa) (або CHARACTER VARYNG), що дозволяє задавати рядки змінної довжини. Крім того, в цьому стандарті існують типи даних NCHAR(^-imra) (або NATIONAL CHARACTER) - строки символів постійної довжини національних алфавітів (локалізованих символів) і NCHAR VARYNGCmnraa) (або NATIONAL CHARACTERVARYNG) - рядки локалізованих символів змінної довжини.
Для точних чисел можуть бути використані наступні типи даних:
• DEC(TO4HOCTb, ступінь) (або DECIMAL) - це десяткове число, тобто число, яке може мати десяткову крапку. Тут аргумент розміру має дві частини: точність і ступінь, причому ступінь не може перевищувати точність. Точність указує на те, скільки значущих цифр має число. Ступінь указує максимальне число цифр праворуч від десяткової крапки. Якщо ступінь рівний нулю, то буде одержаний еквівалент цілого числа;
• NUMERIC- аналог DECIMAL, за винятком того, що максимальне десяткове не може перевищувати аргументу точності;
• INT (або INTEGER) - є числом без десяткової крапки. Фактично є еквівалентом DECIMAL, але без цифр праворуч від десяткової крапки, тобто із ступенем, рівним нулю. Тут аргумент розміру не використовується;
• SMALLINT - аналог INTEGER, за винятком того, що, залежно від реалізації, розмір за умовчанням може бути менше ніж INTEGER. Приблизні числа можуть бути описані такими типами:
• FLОАТ(точність) - число з плаваючою крапкою на основі показової функції. Аргумент точність складається з одного числа, що визначає мінімальну точність;
• REAL - аналог FLOAT, за винятком того, що ніякому аргументу розміру не використовується, а задана точність встановлюється за замовчуванням;
• DOUBLE PRECISION (або DOUBLE) - еквівалент REAL, за винятком того, що точність для DOUBLE PRECISION повинна перевищувати задану точність REAL.
Т1МЕ. Для зберігання даних, що характеризують час, використовується тип Т1МЕ(точність), а згідно SQL2 може бути використаний спеціальний тип Т1МЕ8ТАМР(точність) для даних, що містять дату і час. Тут точність визначає представлення часу, наприклад, десяті частки секунди. Нарешті, для зберігання тимчасового інтервалу можна використовувати тип INTERVAL.
Для прочитування і зберігання неструктурованих потоків байтів можна використовувати типи даних BITE і BIT VARYNG(ipHHa), відповідно для рядків бітів постійної і змінної довжини. Ці типи можуть бути використані, наприклад, для зберігання графічних зображень або виконуваного коду.
Якщо є вкладення SQL в інші мови програмування, то значення, що використовуються і проведені командами SQL, звичайно зберігаються в змінних головної мови, а значить, ці змінні повинні мати тип даних, сумісний із значеннями SQL, які вони одержуватимуть. В доповненнях, які не є частиною офіційного SQL стандарту, ANSI забезпечує підтримку при використовуванні вкладення SQL в чотири мови: Паскаль, PL/I, КОБОЛ, і ФОРТРАН.
У SQL є ряд операторів, за допомогою яких реалізуються всі можливості мови. Їх короткий опис приведений в додатку б. Отже, коротке введення в SQL зроблено, нижче поговоримо більш детально про реалізацію операторів при роботі з даними.