mysql.h


ROUND

ROUND(X) 
ROUND(X,D)

Devuelve el argumento X, redondeado al entero más cercano. Con dos argumentos redondea a un número con D decimales.

mysql> SELECT ROUND(-1.23);
+--------------+
| ROUND(-1.23) |
+--------------+
|           -1 |
+--------------+
1 row in set (0.00 sec)

mysql> SELECT ROUND(-1.58);
+--------------+
| ROUND(-1.58) |
+--------------+
|           -2 |
+--------------+
1 row in set (0.00 sec)

mysql> SELECT ROUND(1.58);
+-------------+
| ROUND(1.58) |
+-------------+
|           2 |
+-------------+
1 row in set (0.00 sec)

mysql> SELECT ROUND(1.298, 1);
+-----------------+
| ROUND(1.298, 1) |
+-----------------+
|             1.3 |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT ROUND(1.298, 0);
+-----------------+
| ROUND(1.298, 0) |
+-----------------+
|               1 |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT ROUND(23.298, -1);
+-------------------+
| ROUND(23.298, -1) |
+-------------------+
|                20 |
+-------------------+
1 row in set (0.00 sec)

El comportamiento de ROUND() cuando el argumento está justo en la mitad de dos enteros depende de la implementación de la biblioteca C. Algunos redondean al número impar más cercano, otros hacia arriba, hacia abajo, o hacia cero. Si se necesita un tipo de redondeo, se puede usar la función TRUNCATE() o FLOOR() en su lugar.