Saltar al contenido principal

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;
  • Consideraciones sobre el rendimiento. Aunque `ROUND()` es eficiente, aplicarlo a grandes conjuntos de datos puede tener un impacto en el rendimiento. Optimiza las consultas cuando sea necesario.