Числастандарт SQL

FLOOR

Округлює число вниз — до найближчого цілого, не більшого за нього.

Синтаксис

FLOOR(<число>)

Відкидає дробову частину в бік меншого числа: 4.9 стає 4. Ціле число лишається як є. Зручно, щоб розкласти значення по діапазонах: суми по сотнях, вік по десятиліттях.

Дані для прикладів

orders

idcreated_atamount
12026-07-03 10:15:00120.50
22026-07-28 18:40:0080.25
32026-08-09 09:05:00199.99
42026-08-21 14:30:0045.00
52026-09-02 11:00:0064.75

Ці таблиці вже створено в пісочниці — приклади нижче працюють із ними. Хочеш повторити у своїй базі — скопіюй SQL.

Вниз до цілого
SELECT FLOOR(4.9) AS down,
FLOOR(4.0) AS whole,
FLOOR(-4.1) AS negative;
downwholenegative
44-5
Кожне замовлення — у свій діапазон сум
SELECT id, amount,
FLOOR(amount / 100) * 100 AS price_range
FROM orders;
idamountprice_range
1120.50100
280.250
3199.99100
445.000
564.750
Скільки замовлень у кожному діапазоні
SELECT FLOOR(amount / 100) * 100 AS price_range,
COUNT(*) AS order_count
FROM orders
GROUP BY price_range
ORDER BY price_range;
price_rangeorder_count
03
1002

0 — це суми від 0 до 99.99, 100 — від 100 до 199.99.

Зверни увагу

Для від'ємних чисел «вниз» — це далі від нуля: FLOOR(-4.1) дає -5. Просто відкинути дробову частину — це TRUNC: TRUNC(-4.1) дає -4.

Ділення цілих чисел відкидає дробову частину в бік нуля, а не вниз: -7 / 2 дає -3, а FLOOR(-7 / 2.0) — -4.

Схожі функції

Детально в курсі