Saltar al contenido

Redondear y dividir

SQL · Unidad 4: NULL y expresiones

¿Cuánto cuesta el Teclado con el impuesto del 16 %? La cuenta es 45.5 * 1.16, y mira lo que da. No es un error tuyo ni de SQL. Aquí los decimales se guardan en binario, y ahí números como 0.1 no caben exactos. PostgreSQL y MySQL tienen además un tipo decimal exacto, y es el que se usa para guardar dinero.

Hasta hoy las cuentas del curso salían limpias porque las elegimos así. ROUND redondea a los decimales que le pidas, y con él ya se puede hacer cualquier cuenta.

SELECT 45.5 * 1.16 AS sucio,
  ROUND(45.5 * 1.16, 2) AS limpio;

Devuelve

suciolimpio
52.77999999999999452.78

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    El segundo valor de ROUND dice cuántos decimales quedan. Si no lo pones, no queda ninguno. ¿Qué devuelve esta consulta?

  2. 2. Predice la salida

    De los productos de los que quedan 7 unidades o menos, la tienda reparte lo que hay entre su local de Lima y la tienda en línea, mitad y mitad. Del Monitor hay 5, del Portátil 3 y de la Tableta 7. ¿Qué devuelve esta consulta?

  3. 3. Opción múltiple

    El Monitor cuesta 189 y quedan 5. precio / 2 da 94.5, con su decimal, y stock / 2 da 2. ¿Por qué una división corta y la otra no?

  4. 4. Encuentra el bug

    ¿Qué parte de una caja de 10 ocupa cada pedido de Luis, el cliente 2? Sus pedidos son de 5, 2 y 1 unidades, así que debería salir 0.5, 0.2 y 0.1. Salen tres ceros. ¿Qué línea tiene el problema?

  5. 5. Completa el código

    Los equipos se pueden pagar en tres pagos iguales. Completa para ver de cuánto es cada pago, con dos decimales.

  6. 6. Ordena las líneas

    ¿Qué porcentaje de su estante de 30 ocupa cada producto que hay en stock? Ordena la consulta, del estante más lleno al más vacío. Sobra una línea.

  7. 7. Predice la salida

    El Ratón cuesta 19.9. ¿Qué devuelve aquí esta consulta?

  8. 8. Ordena las líneas

    ¿Cuáles son los cuatro productos en stock que más puntos dan? Ordena la consulta. Sobra una línea.

  9. 9. Encuentra el caso que falla

    El Monitor cuesta 189. Esta consulta debería dar los puntos que da comprarlo, uno por cada unidad entera del precio, sin contar los centavos. Aquí eso se hace con CAST, y quien la escribió usó ROUND. ¿Con cuál de estos precios regala un punto de más?

  10. 10. Escribe el código

    La lista de precios que la tienda no podía sacar hasta hoy. De cada producto, muestra tres columnas en este orden, su nombre, su precio y el precio con el impuesto del 16 %, redondeado a dos decimales.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →