Spec-Zone .ru
спецификации, руководства, описания, API
|
FLOAT
и DOUBLE
типы представляют приблизительные
значения числовых данных. MySQL использует четыре байта для значений одинарной точности и восемь байтов для
значений двойной точности.
Для FLOAT
, стандарт SQL разрешает дополнительную спецификацию точности (но не
диапазон экспоненты) в битах после ключевого слова FLOAT
в круглых скобках. MySQL
также поддерживает эту дополнительную спецификацию точности, но значение точности используется только, чтобы
определить размер хранения. Точность от 0 до 23 результатов в 4-байтовой одинарной точности FLOAT
столбец. Точность от 24 до 53 результатов в 8-байтовой двойной точности
DOUBLE
столбец.
MySQL разрешает нестандартный синтаксис: FLOAT(
или M
,D
)REAL(
или M
,D
)DOUBLE PRECISION(
. Здесь,"M
,D
)(
"средства чем значения могут быть
сохранены до M
,D
)M
цифры те, всего, который D
цифры могут быть после десятичной точки. Например, столбец, определенный как FLOAT(7,4)
будет похож -999.9999
когда выведено на
экран. MySQL выполняет округление, храня значения, так, если Вы вставляете 999.00009
в a FLOAT(7,4)
столбец, приблизительный
результат 999.0001
.
Поскольку значения с плавающей точкой приблизительны и не сохраненные как точные значения, попытки обработать их, поскольку точный в сравнениях может привести к проблемам. Они также подвергаются зависимостям от реализации или платформе. Для получения дополнительной информации см. Раздел C.5.5.8, "Проблемы со Значениями С плавающей точкой"
Для максимальной мобильности хранение требования кода приблизительных значений числовых данных должно
использовать FLOAT
или DOUBLE PRECISION
без
спецификации точности или числа цифр.