Ce face ROUND()
ROUND() rotunjește la cel mai apropiat număr. Pentru numere exacte (DECIMAL, întregi), jumătatea se rotunjește în sus, departe de zero: 2.5 → 3, -2.5 → -3. Pentru numere aproximative (FLOAT, DOUBLE), jumătatea se rotunjește la numărul par cel mai apropiat: 2.5e0 → 2.
Cu zecimale negative rotunjești la zeci, sute etc.: ROUND(1234.5, -2) = 1200.
Parametri
| Parametru | Descriere |
|---|---|
numar |
Numărul rotunjit. |
zecimale |
Opțional. Implicit 0; negativ pentru zeci, sute… |
Ce returnează
Numărul rotunjit.
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: Zecimale, valori negative și jumătăți
SELECT ROUND(2.567, 2) AS doua_zecimale, ROUND(1234.5, -2) AS la_sute,
ROUND(2.5) AS exact_25, ROUND(-2.5) AS exact_minus25, ROUND(2.5e0) AS aproximativ_25;
Rezultat
+---------------+---------+----------+---------------+----------------+
| doua_zecimale | la_sute | exact_25 | exact_minus25 | aproximativ_25 |
+---------------+---------+----------+---------------+----------------+
| 2.57 | 1200 | 3 | -3 | 2 |
+---------------+---------+----------+---------------+----------------+
Exemplul 2: Prețuri cu TVA rotunjite
SELECT nume, pret, ROUND(pret * 1.21, 2) AS cu_tva
FROM produse
ORDER BY id;
Rezultat
+---------+---------+---------+
| nume | pret | cu_tva |
+---------+---------+---------+
| Laptop | 3499.90 | 4234.88 |
| Mouse | 79.50 | 96.20 |
| Birou | 899.00 | 1087.79 |
| Scaun | 649.99 | 786.49 |
| Monitor | 1199.00 | 1450.79 |
+---------+---------+---------+
Greșeli frecvente
- Lucrezi cu prețuri în
FLOATși te miri de rotunjiri ciudate. Pentru bani foloseșteDECIMAL.
Comenzi înrudite
TRUNCATE(): Taie un număr la un număr de zecimale, fără rotunjire.CEIL(): Rotunjește în sus, la cel mai mic număr întreg mai mare sau egal.FLOOR(): Rotunjește în jos, la cel mai mare număr întreg mai mic sau egal.FORMAT(): Formatează un număr cu separator de mii și un număr fix de zecimale, opțional după limbă.