FLOAT в Oracle SQL — как работать с числами с плавающей точкой

🟢 FLOAT в Oracle SQL. Введение

FLOAT — это один из числовых типов данных в Oracle SQL, предназначенный для хранения вещественных чисел с плавающей точкой. Он позволяет хранить значения с высокой степенью вариативности по размеру и точности, и может использоваться как в обычных числах, так и в научной записи.

Используется там, где важна гибкость точности, например:

  • расчёты с большими или малыми значениями

  • инженерные и научные вычисления

  • модели с допуском на неточность


🔤 Написание

sql
column_name FLOAT; -- по умолчанию FLOAT(126)
column_name FLOAT(30); -- 30 бит точности
  • FLOAT(n)n битов бинарной точности (не десятичных знаков!)

  • Диапазон значений аналогичен типу NUMBER, но с другим подходом к хранению


🔄 Где используется FLOAT

  • Хранение больших или маленьких значений

  • Динамически масштабируемые расчёты

  • Хранение результатов вычислений, где точность не критична

  • Перенос чисел из внешних систем и CSV-файлов

  • Быстрое прототипирование моделей


🧪 10 Примеров использования FLOAT

1️⃣ Создание таблицы с полем FLOAT

sql
CREATE TABLE sensors (
sensor_id NUMBER,
temperature FLOAT
);

2️⃣ Указание точности

sql
CREATE TABLE measures (
value FLOAT(53) -- приблизительно соответствует DOUBLE PRECISION
);

3️⃣ Вставка значения с плавающей точкой

sql
INSERT INTO sensors VALUES (1, 23.4567);

4️⃣ Хранение научных значений

sql
INSERT INTO measures VALUES (6.022e23); -- число Авогадро

5️⃣ Сравнение FLOAT с NUMBER

sql
SELECT value, value * 1000 AS expanded
FROM measures;

6️⃣ Вывод значений FLOAT с округлением

sql
SELECT ROUND(temperature, 2)
FROM sensors;

7️⃣ Ограничение по диапазону через CHECK

sql
CREATE TABLE reactions (
rate FLOAT,
CONSTRAINT chk_rate CHECK (rate BETWEEN 0.0 AND 1.0)
);

8️⃣ Изменение типа с NUMBER на FLOAT

sql
ALTER TABLE sensors MODIFY temperature FLOAT(30);

9️⃣ Использование FLOAT в вычислениях

sql
SELECT sensor_id, temperature * 1.8 + 32 AS fahrenheit
FROM sensors;

🔟 Преобразование FLOAT в строку

sql
SELECT TO_CHAR(temperature, '999.999') FROM sensors;

🧩 Заключение

Тип FLOAT — это удобный способ хранения чисел с плавающей точкой в Oracle SQL, особенно там, где абсолютная точность не требуется. Это даёт гибкость при работе с широкими диапазонами значений и научными расчётами.

💡 Запомни:

  • FLOAT(n) — бинарная точность в битах, не цифрах

  • Подходит для больших, малых и приблизительных чисел

  • Альтернатива NUMBER при оптимизации по объёму хранения

  • Лучше не использовать для финансов — возможны неточности


🔜 Следующая статья:

FIRST в Oracle SQL — как выбирать первую строку с помощью аналитических функций


 

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии