Каждый столбец базы данных имеет свой тип, указываемый при создании столбца.
В стандарте SQL-92 определены следующие типы:
символьные:
CHARACTER (len);
CHAR (len);
CHARACTER VARYING (len);
CHAR VARYING (len);
VARCHAR (len);
NATIONAL CHARACTER (len);
NATIONAL CHAR (len);
NCHAR (len);
NATIONAL CHARACTER VARYING (len);
NATIONAL CHAR VARYING (len);
NCHAR VARYING (len);
двоичные:
BIT (len);
BIT VARYING (len);
числовые:
NUMERIC;
DECIMAL;
DEC;
INTEGER;
INT;
SMALLINT;
FLOAT;
REAL;
DOUBLE PRECISION;
даты/времени:
DATE;
TIME;
TIME WITH TIME ZONE;
TIMESTAMP;
TIMESTAMP WITH TIME ZONE;
интервалы:
INTERVAL.
Отметим, что параметры типа, указываемые в скобках, в большинстве случаев можно при необходимости опускать.
Для символьных типов возможно указание фразы CARACTER SET { set_name | using_form}, устанавливающей используемый набор символов.
Приведем описание наиболее часто используемых типов данных:
CHAR (num) - текстовая строка фиксированной длины (на диске сразу выделяется место под всю строку);
VARCHAR (num) - текстовая строка переменной длины, содержащая не более num символов (на диске выделяется место в зависимости от длины строки);
INTEGER или INT - целое;
NUMERIC - число с плавающей точкой, возможно определение числа знаков после запятой;
DECIMAL или DEC - число с плавающей точкой, возможно задание минимального значения точности;
FLOAT - число с плавающей точкой, позволяющее задавать точность (количество знаков после запятой);
REAL - число с плавающей точкой, точность которого определяется реализацией;
DATE - тип даты;
TIME WITH TIME ZONE - тип времени, содержащий поля, описывающие сдвиг зонального времени.
Типы данных, описывающие дату и время, состоят из нескольких полей, в которых хранятся части даты времени. Так, тип DATE содержит поля YEAR, MONTH и DAY. Тип TIME содержит поля HOUR, MINUTE и SECOND.
Тип TIMESTAMP содержит как поля даты, так и поля времени.
Значение типа TIMESTAMP записывается следующим образом: '10-12-2003 08:30:00'. Порядок следования полей при написании даты, как правило, определяется установками компьютера.