MOD в Oracle SQL. Введение
Функция MOD в Oracle возвращает остаток от деления одного числа на другое. Это простая, но чрезвычайно полезная функция, особенно в задачах:
Распределения по парным/непарным категориям
Циклического счёта
Шахматных раскрасок
Группировок по N-элементам
Разметки чёт/нечёт в отчётах
🔤 Написание
🧮 Пример:
🔄 Где часто используется
Проверка на чётность:
MOD(x, 2) = 0Циклическое поведение (например, цвет строк в отчёте)
Разделение на группы по остатку
Оптимизация распределения данных (например, для шардирования)
Распределение задач между потоками
🧪 10 Примеров использования MOD с пояснениями
1️⃣ Проверка чётности числа
Определяем, чётный или нечётный ID.
2️⃣ Окраска строк в отчёте (чёт/нечёт)
Может использоваться в интерфейсах: чередовать цвет строк.
3️⃣ Группировка по 3 элемента
Помечаем каждую третью строку.
4️⃣ Фильтрация каждой 5-й строки
Выбираем строки 5, 10, 15…
5️⃣ Чётность месяца
Разметка по чётности месяца приёма.
6️⃣ Распределение задач по серверам (шардинг)
Определяем на какой из 4-х серверов пойдёт задача.
7️⃣ MOD с отрицательными числами
В Oracle MOD сохраняет знак делимого.
8️⃣ Выбор каждой второй записи
Получаем записи 2, 4, 6, …
9️⃣ Ротация скидок по дням недели
Циклическая разбивка на 3 группы скидок.
🔟 MOD в вычислениях с датами
Группировка по дням недели на основе дня в году.
🧩 Заключение
Функция MOD в Oracle SQL — это ваш инструмент для контроля цикличности, чётности и распределения. Она проста, но позволяет элегантно решать задачи, которые иначе потребовали бы сложной логики.
💡 Запомни:
MOD(a, b)= остаток от деленияaнаbРаботает с отрицательными и положительными числами
Отлично сочетается с
ROWNUM,TO_CHAR,CASEПолезна для отчётности, разметки, деления по группам