Типы данных

Ниже приведен список типов данных, доступных в Oracle/PLSQL, который включает в себя символьные, числовые, дата/время, булевы LOB, RowId типы данных.

Символьные типы данных

Ниже перечислены символьные типы данных в Oracle/PLSQL:

Типы данныхРазмерОписание
char(размер)Максимальный размер 2000 байт.Где размер — количество символов фиксированной длины. Если сохраняемое значение короче, то дополняется пробелами; если длиннее, то выдается ошибка.
nchar(размер)Максимальный размер 2000 байт.Где размер — количество символов фиксированной длины в кодировке Unicode. Если сохраняемое значение короче, то дополняется пробелами; если длиннее, то выдается ошибка.
nvarchar2(размер)Максимальный размер 4000 байт.Где размер – количество сохраняемых символов в кодировке Unicode переменной длины.
varchar2(размер)Максимальный размер 4000 байт. Максимальный размер в PLSQL 32KB.Где размер – количество сохраняемых символов переменной длины.
longМаксимальный размер 2GB.Символьные данные переменной длины.
rawМаксимальный размер 2000 байт.Содержит двоичные данные переменной длины
long rawМаксимальный размер 2GB.Содержит двоичные данные переменной длины

Применение: Oracle 9i, Oracle 10g, Oracle 11g, Oracle 12c

Числовые типы данных

Ниже приведены числовые типы данных в Oracle/PLSQL:

Типы данныхРазмерОписание
number(точность,масштаб)Точность может быть в диапазоне от 1 до 38.
Масштаб может быть в диапазоне от -84 до 127.
Например,number (14,5) представляет собой число, которое имеет 9 знаков до запятой и 5 знаков после запятой.
numeric(точность,масштаб)Точность может быть в диапазоне от 1 до 38. Например, numeric(14,5) представляет собой число, которое имеет 9 знаков до запятой и 5 знаков после запятой.
dec(точность,масштаб)Точность может быть в диапазоне от 1 до 38.Например, dec (5,2) — это число, которое имеет 3 знака перед запятой и 2 знака после .
decimal(точность,масштаб)Точность может быть в диапазоне от 1 до 38.Например, decimal (5,2) — это число, которое имеет 3 знака перед запятой и 2 знака после .
PLS_INTEGERЦелые числа в диапазоне от -2,147,483,648 до
2,147,483,647
Значение PLS_INTEGER требуют меньше памяти и быстрее значений NUMBER

Применение: Oracle 9i, Oracle 10g, Oracle 11g, Oracle 12c

Дата/время типы данных

Ниже приведены типы данных дата/время в Oracle/PLSQL:

Типы данныхРазмерОписание
datedate может принимать значения от 1 января 4712 года до н.э. до 31 декабря 9999 года нашей эры.

Применение: Oracle 9i, Oracle 10g, Oracle 11g, Oracle 12c

Большие объекты (LOB) типы данных

Ниже перечислены типы данных LOB в Oracle/PLSQL:

Типы данныхРазмерОписание
bfileМаксимальный размер файла 4 ГБ.Файл locators, указывает на двоичный файл в файловой системе сервера (вне базы данных).
blobХранит до 4 ГБ двоичных данных.Хранит неструктурированные двоичные большие объекты.
clobХранит до 4 ГБ символьных данных.Хранит однобайтовые и многобайтовые символьные данные.
nclobХранит до 4 ГБ символьных текстовых данных.Сохраняет данные в кодировке unicode.

Применение: Oracle 9i, Oracle 10g, Oracle 11g, Oracle 12c

Rowid тип данных

Ниже перечислены типы данных Rowid в Oracle/PLSQL:

Типы данныхФорматОписание
rowidФормат строки: BBBBBBB.RRRR.FFFFF,
Где BBBBBBB — это блок в файле базы данных;
RRRR — строка в блоке;
FFFFF — это файл базы данных.
Двоичные данные фиксированной длины. Каждая запись в базе данных имеет физический адрес или идентификатор строки (rowid).

Булевы (BOOLEAN) типы данных

Типы данныхФорматОписание
BOOLEAN TRUE или FALSE. Может принимать значение NULLХранит логические значения, которые вы можете использовать в логических операциях.

Применение: Oracle 9i, Oracle 10g, Oracle 11g, Oracle 12c