FLOOR() în MySQL

Funcții matematice MySQL 5.0+

Rotunjește în jos, la cel mai mare număr întreg mai mic sau egal.

Sintaxă
FLOOR(numar)

Ce face FLOOR()

FLOOR() rotunjește mereu în jos: 4.9 devine 4, iar -4.1 devine -5 (în jos înseamnă spre minus infinit).

Parametri

Parametru Descriere
numar Numărul rotunjit.

Ce returnează

Un număr întreg.

Exemple

Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.

CREATE TABLE produse (
  id INT PRIMARY KEY,
  nume VARCHAR(30),
  pret DECIMAL(10,2),
  stoc INT,
  reducere INT
);

INSERT INTO produse VALUES
  (1, 'Laptop', 3499.90, 4, NULL),
  (2, 'Mouse', 79.50, 25, 10),
  (3, 'Birou', 899.00, 0, 15),
  (4, 'Scaun', 649.99, 7, NULL),
  (5, 'Monitor', 1199.00, 3, 5);

Exemplul 1: Rotunjiri în jos

SELECT FLOOR(4.9) AS a, FLOOR(-4.1) AS b;

Rezultat

+---+----+
| a | b  |
+---+----+
| 4 | -5 |
+---+----+

Exemplul 2: Grupe de preț din 500 în 500

SELECT FLOOR(pret / 500) * 500 AS de_la, COUNT(*) AS produse
FROM produse
GROUP BY de_la
ORDER BY de_la;

Rezultat

+-------+---------+
| de_la | produse |
+-------+---------+
|     0 |       1 |
|   500 |       2 |
|  1000 |       1 |
|  3000 |       1 |
+-------+---------+

Greșeli frecvente

  • Folosești FLOOR() ca să tai zecimalele numerelor negative. FLOOR(-4.1) = -5; pentru tăiere spre zero folosește TRUNCATE(x, 0).

Comenzi înrudite

  • CEIL(): Rotunjește în sus, la cel mai mic număr întreg mai mare sau egal.
  • TRUNCATE(): Taie un număr la un număr de zecimale, fără rotunjire.
  • ROUND(): Rotunjește un număr la un număr de zecimale (sau la zeci, sute, cu valori negative).