3.4.9.1. Типы данных SQL

Рассмотрим основные типы данных, используемые в СУБД Oracle.

Символьные типы данных – содержат буквы, цифры и специальные символы.

CHAR или CHAR(n) – символьные строки фиксированной длины. Длина строки определяется параметром n. CHAR без параметра соответствует CHAR(1). Для хранения таких данных всегда отводится n байт вне зависимости от реальной длины строки.

VARCHAR2 – символьная строка переменной длины. Для хранения данных этого типа отводится число байт, соответствующее реальной длине строки.

Целые типы данных – поддерживают только целые числа (дробные части и десятичные точки не допускаются). Над этими типами разрешается выполнять арифметические операции и применять к ним агрегирующие функции (определение максимального, минимального, среднего и суммарного значения столбца реляционной таблицы).

INTEGER, или INT, – целое, для хранения которого отводится, как правило, 4 байта. Интервал значений от - 2147483647 до + 2147483648.

Вещественные типы данных – описывают числа с дробной частью.

FLOAT – числа с плавающей точкой (для хранения отводится обычно 8 и 4 байта соответственно).

DECIMAL(p) – тип данных, аналогичный FLOAT, с числом значащих цифр p.

DECIMAL(p,n) – аналогично предыдущему, p – общее количество десятичных цифр, n – количество цифр после десятичной запятой.

NUMBER(p,n) – применяется для хранения вещественных и целых чисел.

Дата и время – используются для хранения комбинации даты и времени. Большинство СУБД умеет определять интервал между двумя датами, а также уменьшать или увеличивать дату на определенное количество времени.

DATE – тип данных для хранения даты и времени (год + месяц + день + часы + минуты + секунды + доли секунд).

BLOB – позволяет хранить данные любого объема в двоичном коде (оцифрованные изображения, исполняемые файлы и т.д.).

В заключение следует сказать, что для всех типов данных существует общее значение NULL – не определено. Это значение имеет каждый элемент столбца до тех пор, пока в него не будут введены данные. При создании таблицы можно явно указать СУБД, могут ли элементы того или иного столбца иметь значения NULL (это недопустимо, например, для столбца, являющего первичным ключом).