Функция MOD
Функция MOD находит остаток от деления
одного числа на другое. Вместо функции MOD
можно использовать оператор %, который
выполняет ту же операцию.
Синтаксис
Использование функции:
SELECT MOD(value1, value2) FROM table_name WHERE condition
Альтернативный синтаксис с оператором %:
SELECT value1 % value2 FROM table_name WHERE condition
Таблицы для примеров
| id | number |
|---|---|
| 1 | 10 |
| 2 | 8 |
| 3 | 11 |
Пример
Давайте найдём остаток от деления
значения поля number на 3:
SELECT id, number, MOD(number, 3) AS mod FROM numbers
Результат выполнения запроса:
| id | number | mod |
|---|---|---|
| 1 | 10 | 1 |
| 2 | 8 | 2 |
| 3 | 11 | 2 |
Этот запрос можно переписать с использованием
оператора %:
SELECT id, number, number % 3 AS mod FROM numbers
Меняем таблицу для примеров
| id | number1 | number2 |
|---|---|---|
| 1 | 10 | 3 |
| 2 | 8 | 5 |
| 3 | 14 | 4 |
Пример
Давайте найдём остаток от деления значения
поля number1 на значение поля number2:
SELECT id, number1, number2, MOD(number1, number2) AS mod FROM numbers
Результат выполнения запроса:
| id | number1 | number2 | mod |
|---|---|---|---|
| 1 | 10 | 3 | 1 |
| 2 | 8 | 5 | 3 |
| 3 | 14 | 4 | 2 |
Этот запрос также можно переписать с использованием
оператора %:
SELECT id, number1, number2, number1 % number2 AS mod FROM numbers
Пример
Давайте выберем только те записи, в которых
остаток от деления первого числа на второе
меньше или равен 2:
SELECT * FROM numbers WHERE MOD(number1, number2) <= 2
Результат выполнения запроса:
| id | number1 | number2 |
|---|---|---|
| 1 | 10 | 3 |
| 3 | 14 | 4 |
Эквивалентный запрос с оператором %:
SELECT * FROM numbers WHERE number1 % number2 <= 2