Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции для 16 группы.docx
Скачиваний:
45
Добавлен:
13.02.2015
Размер:
293.45 Кб
Скачать

7.2. Основные типы данных Oracle

Информация, хранимая в базе данных, может быть разнообразной: строки символов, числа, даты и т.д. Для хранения информации СУБД Oracle поддерживает различные типы данных. Рассмотрим основные из них.

При дальнейшем изложении материала необязательные параметры и синтаксические конструкции будут указываться в квадратных скобках.

7.2.1. Типы данных для хранения строк символов

Тип CHARACTER или CHAR используется для хранения строк фиксированной длины.

Синтаксис: CHARACTER[(длина)] или CHAR[(длина)].

Для хранения строк резервируется определенное в параметре длина пространство. При необходимости короткая строка дополняется пробелами. Параметр длина является необязательным. Если длина строки не указана явно, она полагается равной 1. Максимальное значение параметра длина — 255 символов.

Тип VARCHAR используется для хранения строк переменной длины. Для хранения строк резервируется реально необходимое пространство.

Синтаксис: VARCHAR [(длина)].

Параметр длина является необязательным. Если длина строки не указана явно, она полагается равной 1 символу. Максимальное значение параметра длина – 4000 символов.

Тип VARCHAR2 (применяется только в Oracle) используется для хранения строк переменной длины. Для хранения строк резервируется реально необходимое пространство. Основная причина введения типа VARCHAR2 состоит в том, что фирма Oracle декларирует неизменность этого типа в более поздних реализациях Oracle, в то время как тип VARCHAR будет соответствовать требованиям стандартов SQL.

Синтаксис: VARCHAR2(длина).

Длина строки должна быть указана явно. Минимальное значение параметра длина – 1 символ, максимальное значение параметра длина – 4000 символов.

7.2.2. Типы данных для хранения чисел

Тип INTEGER используется для представления целых чисел в диапазоне от -231 до 231.

Синтаксис: INTEGER или INT.

Тип NUMBER (применяется только в Oracle) используется для представления чисел с заданной точностью.

Синтаксис: NUMBER [(точность [, масштаб])].

Если значение параметра точность не указано явно, оно полагается равным 38. Значение параметра масштаб по умолчанию предполагается равным 0. Значение параметра точность может изменяться от 1 до 38, значение параметра масштаб может изменяться от -84 до 127. Использование отрицательных значений масштаба означает сдвиг десятичной точки в сторону старших разрядов. Например, определение NUMBER (7,-3) означает округление до тысяч.

В таблице 3 приведены представления числа 123456.789 с различной точностью и масштабом.

Таблица 3. Представления числа 123456.789

с различной точностью и масштабом.

Определение

Представление

при выполнении действий

NUMBER

123456

NUMBER(7,1)

123456.7

NUMBER(5,2)

ошибка в данных

NUMBER(8,3)

ошибка в данных

NUMBER(9,3)

123456.789

NUMBER(7,-2)

123500

Для совместимости с другими СУБД на уровне запросов СУБД Oracle поддерживает типы данных DECIMAL и NUMERIC. Типы DECIMAL И NUMERIC полностью эквивалентны типу NUMBER.