Документация Oracle на русском языке





Сайт посвящен разработке информационных систем с использованием технологий Oracle. На сайте можно найти полезную литературу и документацию на русском языке по программированию и администрированию Oracle.Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации.

Главная :: Карта


Oracle Database или Oracle RDBMS — объектно-реляционная система управления базами данных компании Oracle.



 

DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Семейство числовых типов

При помощи типов этого семейства хранятся целые и действительные значения. Существуют три базовых типа: NUMBER, PLS INTEGER и BINARY_INTEGER. В переменных, имеющих тип NUMBER, можно сохранять как целые, так и действительные величины, а в переменных
типа        и        - только целые числа.
NUMBER С помощью данного типа можно хранить числа, как целые, так и с плавающей точкой. Он абсолютно аналогичен типу NUMBER, приме­няемому в базах данных. Синтаксис объявления числа:
NUMBER  (Р,$);
где Р- точность (precision), a 5— масштаб (scale). Точность — это количе­ство цифр в значении, а масштаб — количество цифр справа от десятичной точки. Использование как точности, так и масштаба необязательно, одна­ко при указании масштаба необходимо указывать и точность. Различные комбинации точности и масштаба продемонстрированы в таблице 3.2.
Таблица 3.2. Значения точности и масштаба
Максимальная точность — 38 цифр, а масштаб может иметь значение в диапазоне от -84 до 127.
Подтип (subtype) — это альтернативное имя для некоторого типа. С его помощью можно ограничить множество значений, допустимых для переменных данного подтипа (см. ниже). Типу NUMBER эквивалентен целый ряд подтипов, которые, в сущности, являются тем же самым, что и NUMBER, так как ни один из них не ограничен. Альтернативные имена можно использовать для повышения удобочитаемости программ либо для обеспечения совместимости с типами данных, применяемыми в дру­гих базах данных. Типу NUMBER эквивалентны:
- DEC
DECIMAL
DOUBLE PRECISION
FLOAT
•        REAL
Среди типов, которые могут содержать числа с плавающей запятой, DEC, DECIMAL и NUMERIC имеют максимальную точность 38 десяти­чных знаков. DOUBLE PRECISION и FLOAT имеют точность 126 двоич­ных знаков, что приблизительно соответствует 38 десятичным цифрам. REAL имеет точность 63 двоичных знака, что приблизительно дает 18 де­сятичных знаков.
В дополнение к приведенным выше подтипам без ограничений, под­типы INTEGER, INT и SMALINT могут хранить целые числа с максималь­ной точностью 38 десятичных знаков.
BINARYINTEGER Данные, имеющие тип NUMBER, хранятся в десяти­чном формате, который специально создан для точного и эффективного хранения информации. Вследствие этого арифметические операции не­льзя выполнять непосредственно над значениями типа NUMBER. Чтобы числовые величины могли быть обработаны, значения типа NUMBER
должны быть преобразованы в двоичный тип. Если имеется арифметиче­ское выражение, в котором используются значения типа NUMBER, то в
PL/SQL это преобразование, а также (при необходимости) преобразова­ние результата обратно к типу NUMBER выполняются автоматически.
Если же значение не будет храниться в базе данных, а будет применять­ся лишь в вычислениях, можно воспользоваться типом данных BINARYJNTEGER. Этот тип служит для хранения знаковых целых значе­ний, которые могут лежать в диапазоне от -2 147 483 647 до +2 147 483 647. Данные хранятся в двоичном дополнительном формате, а это означает, что для их использования в вычислениях не требуется выполнять преоб­разование. Тип BINARYJNTEGER обычно имеют счетчики циклов.
Как и для NUMBER, для типа BINARYJNTEGER определен ряд подти­пов. Однако в отличие от NUMBER подтипы BINARYJNTEGER ограни­чены, т.е. с их помощью можно хранить значения из ограниченного диапазона. Подтипы BINARYJNTEGER приведены в таблице 3.3.
Таблица 3.3.        BINARYJNTEGER

Подтип
Ограничение
NATURAL
0...2 147483 647
NATURALN
0...2 147 483 647 NOT NULL
POSITIVE
1...2 147483 647
POSITIVEN
1...2 147 473 647 NOT NULL
SIGNTYPE
-1,0, 1
PLS_INTEGER Тип PLSJNTEGER имеет тот же диапазон значений, что и BINARYJNTEGER -.от-2 147 483 647 до +2 147 483 647, и реализован так­же при помощи собственного двоичного дополнительного формата. Одна­ко, если при выполнении некоторой операции переполняется значение типа PLSJNTEGER, возникает ошибка. В случае же переполнения значения, имеющего тип BINARY_INTEGER результат может быть при­своен переменной типа NUMBER (который имеет больший диапазон) без всякой ошибки. Различие между этими двумя форматами иллюстри­руется следующим сеансом SQL*Plus (см. ниже раздел "Выражения и операторы"):
 



jAntivirus