Числовые типы
Стандарт предусматривает следующие числовые типы.
SMALLINT, INTEGER (INT) и BIGINT (последний появился только в SQL 2003) - целые двоичные числа со знаком, хотя стандарт не оговаривает размеры, в большинстве случаев это 2, 4 и 8 байт соответственно.
NUMERIC(p,s) или NUMBER(p,s) или DECIMAL(p,s) - типы-синонимы для десятичных чисел с фиксированной точкой. Число p задает общее количество десятичных разрядов в числе, s - число разрядов после точки.
FLOAT(p), REAL, DOUBLE PRECISION - двоичные числа с плавающей точкой. Разрядность типов REAL и DOUBLE PRECISION зависит от реализации.
В Oracle, в отличие от большинства других СУБД, внутреннее представление всех числовых данных одинаково – все числа хранятся в двоично-десятичном представлении (т.е. для каждой десятичной цифры числа хранится ее четырехбитное двоичное представление). Поэтому в Oracle имеется единственный числовой тип
NUMBER[(p[,s])]
Oracle, однако, принимает и все стандартные числовые типы и автоматически переводит их во внутреннее представление NUMBER. Например, стандартный тип INTEGER она автоматически приводит к типу NUMBER(38) – число без десятичной точки из 38 десятичных разрядов (один из них – знак числа) и отводит под него 38 байт, что в большинстве случаев избыточно. В целях рационального использования дискового пространства при работе с Oracle разумно пользоваться типом NUMBER. Например, для целых чисел (соответствующих типу INTEGER) разумным типом будет NUMBER(10).
Вообще, для любой СУБД необходимо сначала внимательно изучить документацию по поддерживаемым типам и способам их внутреннего представления, а затем приступать к созданию таблиц. Знание внутреннего представления данных поможет не только сэкономить пространство на диске, но и повысить производительность СУБД за счет ускорения операций обмена между внешней и оперативной памятью.
Константы числовых типов записываются так же, как и десятичные константы в большинстве языков программирования. Для действительных констант возможна нотация как с десятичной точкой, так и в E-форме.
Дата добавления: 2015-08-26; просмотров: 799;