> lección 9/18 · 12 min

Funciones numéricas

Concepto

Las operaciones con números dan resultados con muchos decimales que nadie quiere leer en un reporte. ROUND y sus parientes ajustan esos números para presentarlos, sin cambiar los datos guardados.

Sintaxis
ROUND(número, decimales)

ROUND con decimales. El segundo argumento dice cuántos decimales dejar. Sin él, redondea a entero.

SELECT titulo, horas, horas / 7.0 AS horas_diarias, ROUND(horas / 7.0, 1) AS horas_diarias_redondeadas FROM cursos;

CEIL y FLOOR. CEIL redondea siempre hacia arriba y FLOOR siempre hacia abajo. Si un curso de 18 horas se dicta en bloques de 4 horas, se necesitan CEIL(18 / 4.0) = 5 bloques: con 4 no alcanza.

SELECT titulo, horas, CEIL(horas / 4.0) AS bloques_de_4_horas FROM cursos;

Calcular antes de redondear. Puedes redondear el resultado de una expresión completa: ROUND(nota * 100 / 7) primero convierte y después redondea. Redondea al final; si redondeas en pasos intermedios, el error se acumula.

Con NULL, el resultado es NULL. Cualquier operación con un dato que falta da NULL: no hay forma de redondear una nota que todavía no existe.

> tarea SQL

La plataforma muestra las notas también como porcentaje de logro. Para cada inscripción, muestra el nombre del estudiante, la nota y una columna porcentaje con la nota convertida a escala de 0 a 100 (nota por 100, dividido por 7), redondeada a entero.

Tablas disponibles
  • cursos: id, titulo, nivel, horas
  • estudiantes: id, nombre, correo, edad, ciudad
  • inscripciones: id, estudiante_id, curso_id, nota, estado

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

Aprueba las tareas de esta lección para ver el cierre.