TGViewer
Симулейтив Симулейтив @simulative_official · 7.47K subscribers
Post #3458 1.01K
Ошибка целочисленного деления в SQL 🔥

Проверяя работы наших студентов на курсе, мы раз за разом сталкиваемся с одними и теми же ошибками. И сейчас мы расскажем вам об одной из таких ошибок при написании SQL-запросов в PostgreSQL.

✅ Описание проблемы

Мы привыкли, что в математике можно просто разделить одно число на другое и получить результат, даже если нацело числа не делятся — получится десятичная дробь. Однако SQL не всегда работает так, как мы ожидаем…

Например, в PostgreSQL, если вы делите два целых числа, результат будет целым числом, без дробной части:

SELECT a/b FROM demo
# если a и b целые, получаем столбец целых чисел

SELECT 1 / 2
# такое деление вернет 0


Примеры кажутся синтетическими, однако если вы делаете какую-то сложную агрегацию и вычисления с операцией деления, то вы можете даже не заметить эту ошибку, так как получите некий результат. Просто он будет неверным.

Примечание: в большинстве других СУБД, таких как MySQL, подобные запросы вернут десятичные дроби, как и ожидается.


✅ Решение проблемы

Чтобы избежать неоднозначностей при выполнении вычислений, всегда лучше явно указывать преобразование типов. Например:

SELECT a::NUMERIC/b FROM demo
SELECT a*1.0/b FROM demo
SELECT CAST(1 AS FLOAT)/2 FROM demo


Используя любую из этих конструкций, вы приводите числитель (можно знаменатель) к дробному формату, а значит и результатом деления будет дробь.

🛎️ Если вы хотите познакомиться с SQL и узнать ещё больше классных фишек, приходите на наш бесплатный интенсив по SQL с менторской поддержкой! Вы научитесь писать первые SQL-запросы и решать задачи, положите первый проект в портфолио и получите сертификат о прохождении курса.


Записывайтесь, стартуем уже завтра!

📌 Зарегистрироваться на интенсив

📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS
  • 🔥 5
  • ❤ 3
More from @simulative_official
  1. Sep 25, 2026Сегодня собираем ETL-пайплайн на данных GitHub — от источника до дашборда Сегодня в 19:00…
  2. Sep 24, 2026💻💻💻💻💻 Собираем ETL-пайплайн на данных GitHub Как данные проходят путь от внешнего сер…
  3. Sep 24, 2026Post #3582
  4. Sep 23, 2026Что происходит между вопросом бизнеса и готовым дашбордом? Сегодня в 19:00 покажем этот пу…
  5. Sep 21, 2026💻💻💻💻💻Как устроена работа аналитика в среднем бизнесе? Хотите понять, чего ждать, если…
  6. Sep 21, 2026#проанализировали_и_поняли
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →