Параметры этого типа данных указываются в скобках: numeric(точность, масштаб).
Например, numeric(6, 2).
Его главное достоинство — это обеспечение
точных
результатов при выполнении вы-
числений, когда это, конечно, возможно в принципе. Это оказывается возможным
при выполнении сложения, вычитания и умножения. Числа типа numeric могут хра-
нить очень большое количество цифр: 131072 цифры — до десятичной точки (запя-
той), 16383 — после точки. Однако нужно учитывать, что такая точность достигается
за счет замедления вычислений по сравнению с целочисленными типами и типами
с плавающей запятой. При этом для хранения числа затрачивается больше памяти,
чем в случае целых чисел.
Данный тип следует выбирать для хранения денежных сумм, а также в других случа-
ях, когда требуется гарантировать точность вычислений.
Представителями типов данных с плавающей точкой являются real и double precision.
Они представляют собой реализацию стандарта IEEE «Standard 754 for Binary Floating-
Point Arithmetic». Тип данных real может представить числа в диапазоне, как ми-
нимум, от 1E-37 до 1E+37 с точностью не меньше 6 десятичных цифр. Тип double
precision имеет диапазон значений примерно от 1E-307 до 1E+308 с точностью не
меньше 15 десятичных цифр. При попытке записать в такой столбец слишком боль-
шое или слишком маленькое значение будет генерироваться ошибка. Если точность
вводимого числа выше допустимой, то будет иметь место округление значения. А вот
при вводе очень маленьких чисел, которые невозможно представить значениями, от-
личными от нуля, будет генерироваться ошибка потери значимости, или исчезнове-
ния значащих разрядов (an underflow error).
При работе с числами таких типов нужно помнить, что сравнение двух чисел с пла-
вающей точкой на предмет равенства их значений может привести к неожиданным
результатам. Например:
Достарыңызбен бөлісу: