Spec-Zone.ru › MySQL 9.2

13.1.4 Типы чисел с плавающей точкой (приближенные значения) - FLOAT, DOUBLE

Типы FLOAT и DOUBLE представляют приближенные числовые данные. MySQL использует четыре байта для значений одинарной точности и восемь байтов для значений двойной точности.

Для FLOAT стандарт SQL допускает необязательное указание точности (но не диапазона показателя степени) в битах после ключевого слова FLOAT в скобках, то есть FLOAT(p). MySQL также поддерживает это необязательное указание точности, но значение точности в FLOAT(p) используется только для определения размера хранения. Точность от 0 до 23 приводит к столбцу одинарной точности FLOAT в 4 байта. Точность от 24 до 53 приводит к столбцу двойной точности DOUBLE в 8 байт.

MySQL допускает нестандартный синтаксис: FLOAT(M,D) или REAL(M,D) или DOUBLE PRECISION(M,D). Здесь (M,D) означает, что значения могут храниться с максимальным количеством M цифр в целом, из которых D цифр могут быть после десятичной точки. Например, столбец, определённый как FLOAT(7,4), отображается как -999.9999. MySQL выполняет округление при хранении значений, поэтому если вы вставите 999.00009 в столбец FLOAT(7,4), приблизительный результат будет 999.0001.

FLOAT(M,D) и DOUBLE(M,D) являются нестандартными расширениями MySQL и устарели. Вы должны ожидать, что поддержка этих вариантов будет удалена в будущей версии MySQL.

Поскольку значения с плавающей точкой являются приближенными и не хранятся как точные значения, попытки рассматривать их как точные в сравнениях могут привести к проблемам. Они также зависят от платформы или реализации. Для получения дополнительной информации см. Раздел B.3.4.8 «Проблемы с числами с плавающей точкой».

Для максимальной переносимости код, требующий хранения приближённых числовых значений, должен использовать FLOAT или DOUBLE PRECISION без указания точности или количества цифр.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/floating-point-types.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API