Función MySQL ROUND()
La función `ROUND()` de MySQL se utiliza para redondear un valor numérico a un número determinado de decimales. Es especialmente útil en situaciones en las que se requiere precisión para cálculos financieros, informes o análisis de datos.
Utilización
La función `ROUND()` se utiliza habitualmente para controlar el número de decimales de una salida numérica, mejorando la legibilidad y la precisión. Se puede aplicar en sentencias `SELECT`, entre otras, con fines de redondeo.
ROUND(number, decimals)
En esta sintaxis, `número` es el valor numérico que hay que redondear, y `decimales` es el número de decimales a los que hay que redondear. Si se omite `decimales`, el número se redondea al entero más próximo. La función `ROUND()` sigue las reglas de redondeo estándar, redondeando hacia el valor más próximo. Para valores medios (por ejemplo, `0,5`), redondea a partir de cero.
Ejemplos
1. Redondeo básico
SELECT ROUND(123.456);
Este ejemplo redondea el número `123,456` al entero más próximo, dando como resultado `123`.
2. Especificar posiciones decimales
SELECT ROUND(123.456, 2);
Aquí, el número `123,456` se redondea a dos decimales, dando como resultado `123,46`.
3. Redondear números negativos
SELECT ROUND(-123.456, 1);
En este ejemplo, el número negativo `-123,456` se redondea a un decimal, dando como resultado `-123,5`.
4. Redondear con decimales negativos
SELECT ROUND(12345.6789, -2);
Esto redondea `12345,6789` a la centena más próxima, dando como resultado `12300`.
Consejos y buenas prácticas
- Especifica cuidadosamente los decimales. Especifica siempre el número de decimales para evitar redondeos involuntarios.
- Ten en cuenta las limitaciones de los tipos de datos. Ten en cuenta cómo interactúa `ROUND()` con los distintos tipos de datos de MySQL (por ejemplo, `FLOAT`, `DOUBLE`, `DECIMAL`) para evitar la pérdida de precisión.
- Utilízalo en el formateo de datos. Utiliza `ROUND()` para la presentación de datos cuando sea necesaria una precisión consistente.
- Combínalo con otras funciones. Combina `ROUND()` con funciones agregadas como `SUM()` o `AVG()` para garantizar un formato preciso de los resultados, por ejemplo:
SELECT ROUND(AVG(salary), 2) FROM employees;