Числовые функции: ROUND, FLOOR, CEIL, ABS, MOD, POWER и др.
🔢 Основные числовые функции в SQL
Числовые функции — это мощный инструмент для работы с числовыми данными в SQL. Они позволяют округлять числа, находить остатки от деления, возводить в степень и многое другое. Рассмотрим самые полезные из них на примерах.
🎯 Округление чисел: ROUND, FLOOR, CEIL
ROUND — округление до указанного знака
Функция ROUND позволяет округлить число до заданного количества знаков после запятой.
SELECT
ROUND(123.4567, 2) AS rounded_2_decimals, -- 123.46 (округление до двух знаков)
ROUND(123.4567, 1) AS rounded_1_decimal, -- 123.5 (округление до одного знака)
ROUND(123.4567, 0) AS rounded_integer, -- 123 (округление до целого)
ROUND(123.4567, -1) AS rounded_tens; -- 120 (округление до десятков)
FLOOR — округление вниз
Возвращает наибольшее целое число, меньшее или равное заданному.
SELECT
FLOOR(3.7) AS floor_positive, -- 3
FLOOR(-2.3) AS floor_negative; -- -3
CEIL (или CEILING) — округление вверх
Возвращает наименьшее целое число, большее или равное заданному.
SELECT
CEIL(3.2) AS ceil_positive, -- 4
CEIL(-2.7) AS ceil_negative; -- -2
🔥 Запомните:
-FLOOR— всегда вниз, даже для отрицательных чисел.
-CEIL— всегда вверх, даже для отрицательных чисел.
🔍 Абсолютное значение и модуль: ABS и MOD
ABS — модуль числа
Возвращает абсолютное значение числа (без знака).
SELECT
ABS(10) AS abs_positive, -- 10
ABS(-5) AS abs_negative; -- 5
MOD — остаток от деления
Возвращает остаток от деления одного числа на другое.
SELECT
MOD(10, 3) AS mod_example, -- 1 (10 / 3 = 3 с остатком 1)
MOD(15, 4) AS another_mod; -- 3 (15 / 4 = 3 с остатком 3)
⚡ Возведение в степень и извлечение корня: POWER и SQRT
POWER — возведение в степень
Позволяет возвести число в указанную степень.
SELECT
POWER(2, 3) AS power_example, -- 8 (2^3)
POWER(5, 2) AS square; -- 25 (5^2)
SQRT — квадратный корень
Возвращает квадратный корень числа.
SELECT
SQRT(25) AS sqrt_25, -- 5
SQRT(144) AS sqrt_144; -- 12
⚠️ Осторожно:
SQRTот отрицательного числа вернетNULLв большинстве СУБД.
🎲 Случайные числа: RANDOM
Функция RANDOM (или RAND в некоторых СУБД) генерирует случайное число от 0 до 1.
SELECT
RANDOM() AS random_0_to_1, -- 0.12345... (случайное)
RANDOM() * 100 AS random_0_to_100, -- 42.678... (случайное от 0 до 100)
FLOOR(RANDOM() * 100) AS random_integer; -- 84 (целое число от 0 до 99)
🔄 Минимум и максимум: LEAST и GREATEST
Функции LEAST и GREATEST возвращают наименьшее и наибольшее значение из списка.
SELECT
LEAST(5, 10, -2, 8) AS min_value, -- -2
GREATEST(5, 10, -2, 8) AS max_value; -- 10
🏁 Итоги
📌 Ключевые функции:
- ROUND, FLOOR, CEIL — округление чисел.
- ABS — модуль числа, MOD — остаток от деления.
- POWER, SQRT — работа со степенями и корнями.
- RANDOM — генерация случайных чисел.
- LEAST, GREATEST — поиск минимума и максимума.
Попробуйте применить их в своих запросах — они делают код мощнее и лаконичнее! 🚀