Числовые функции: 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 — поиск минимума и максимума.

Попробуйте применить их в своих запросах — они делают код мощнее и лаконичнее! 🚀

Скрыть рекламу навсегда

🌱 Индвидидулаьные занятия

Индивидуальные онлайн-занятия по программированию для детей и подростков

Личный подход, без воды, с фокусом на понимание и реальные проекты.

🚀 Записаться на занятие