Problema:
Quiere redondear un número a un número específico de lugares decimales.
Ejemplo:
Nuestra base de datos tiene una tabla llamada product
con datos en las siguientes columnas:id
, name
y price_net
.
id | nombre | precio_neto |
---|---|---|
1 | pan | 2.34 |
2 | croissant | 1.22 |
3 | rollo | 0,68 |
Suponga que hay un impuesto del 24 % sobre cada producto y desea calcular el precio bruto de cada artículo (es decir, después de impuestos) y redondear el valor a dos decimales.
Solución:
SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross FROM product;
Esta consulta devuelve el precio bruto redondeado a dos decimales:
id | precio_bruto |
---|---|
1 | 2,90 |
2 | 1,51 |
3 | 0,84 |
Discusión:
Si desea redondear un número de coma flotante a un número específico de lugares decimales en SQL, use la función ROUND. El primer argumento de esta función es la columna cuyos valores desea redondear; el segundo argumento es opcional y denota el número de lugares a los que desea redondear. De forma predeterminada, si no especifica el segundo argumento, la función se redondea al entero más próximo.
En este ejemplo, no especificaremos el número de lugares a los que queremos redondear la columna:
SELECT id, ROUND(price_net*1.24) as price_gross FROM product;
Y aquí está el resultado correspondiente:
id | precio_bruto |
---|---|
1 | 3 |
2 | 2 |
3 | 1 |