Ir al contenido principal

La Función ROUND ok

La función ROUND desarrolla una operación de redondeo sobre un valor numérico  basada sobre la precisión decimal especificado. El valor devuelto es  redondeado arriba o abajo. Si la precisión decimal especificada  es n, el digito significativo  a redondear es encontrado en n+1 lugares a la derecha del punto decimal. Si n es negativo, el digito significativo a redondear es encontrado n lugares a la izquierda del punto decimal. Si el valor numérico del digito significativo es más grande o igual a 5, un redondeo arriba es realizado, sino un redondeo abajo es realizado.
La función ROUND toma dos parámetros. 

Sintaxis:
ROUND(source number, decimal precision)

El source number representa cualquier número literal, columna o expresión. El decimal precisión especifica el nivel de redondeo y es opcional. Si la precesión decimal está ausente, el nivel de redondeo es cero, que significa el numero fuente es redondeado al número entero más cercano. 

Ejemplo:
-- PRECISION DECIMAL 0, REDONDEA AL ENTERO MAS CERCANO
-- SI EL DECIMAL ES MAYOR O IGUAL A CINCO EL REDONDEO ES ARRIBA
-- SI EL DECIMAL ES MENOR O IGUAL A CUATRO EL REDONDEO ES ABAJO
SELECT ROUND(123456.12345) FROM DUAL;
SELECT ROUND(123456.54321) FROM DUAL;
SELECT ROUND(500012.55555) FROM DUAL;
SELECT ROUND(500012.50000) FROM DUAL;
SELECT ROUND(500012.49999) FROM DUAL;

-- PRECISION DECIMAL 1, REDONDEA EL DIGITO SIGNIFICATIVO N + 1 A LA DERECHA
-- REDONDEA DEL NUMERO 1 QUE ESTA EN LA POSICION 2 A LA DERECHA DEL PUNTO DECIMAL
-- ASI FUNCIONA PARA LOS POSTERIORES EJEMPLOS DE REDONDEO 1
SELECT ROUND(2900.916718,1) FROM DUAL;
SELECT ROUND(2900.956718,1) FROM DUAL;
SELECT ROUND(2900.506718,1) FROM DUAL;
SELECT ROUND(2900.496718,1) FROM DUAL;
SELECT ROUND(2900.9,1) FROM DUAL;

-- PRECISION DECIMAL 2, REDONDEA EL DIGITO SIGNIFICATIVO N + 1 A LA DERECHA
-- REDONDEA DEL NUMERO QUE ESTA EN LA POSICION 3 A LA DERECHA DEL PUNTO DECIMAL
-- ASI FUNCIONA PARA LOS POSTERIORES EJEMPLOS DE REDONDEO 2
SELECT ROUND(273308.15212363,2) FROM DUAL;
SELECT ROUND(273308.15512363,2) FROM DUAL;
SELECT ROUND(273308.15612363,2) FROM DUAL;
SELECT ROUND(273308.15812363,2) FROM DUAL;
SELECT ROUND(273308.15,2) FROM DUAL;

-- PRECISION DECIMAL 3, REDONDEA EL DIGITO SIGNIFICATIVO N + 1 A LA DERECHA
-- REDONDEA DEL NUMERO QUE ESTA EN LA POSICION 4 A LA DERECHA DEL PUNTO DECIMAL
-- ASI FUNCIONA PARA LOS POSTERIORES EJEMPLOS DE REDONDEO 3
SELECT ROUND(273308.15212363,3) FROM DUAL;
SELECT ROUND(273308.15512363,3) FROM DUAL;
SELECT ROUND(273308.15612363,3) FROM DUAL;
SELECT ROUND(273308.15852363,3) FROM DUAL;
SELECT ROUND(273308.16852363,3) FROM DUAL;
SELECT ROUND(273308.16862363,3) FROM DUAL;
SELECT ROUND(273308.15,3) FROM DUAL;

-- PRECISION DECIMAL 4, REDONDEA EL DIGITO SIGNIFICATIVO N + 1 A LA DERECHA
-- REDONDEA DEL NUMERO QUE ESTA EN LA POSICION 5 A LA DERECHA DEL PUNTO DECIMAL
-- ASI FUNCIONA PARA LOS POSTERIORES EJEMPLOS DE REDONDEO 4
SELECT ROUND(273308.15212363,4) FROM DUAL;
SELECT ROUND(273308.15515363,4) FROM DUAL;
SELECT ROUND(273308.15612363,4) FROM DUAL;
SELECT ROUND(273308.15852363,4) FROM DUAL;
SELECT ROUND(273308.16852363,4) FROM DUAL;
SELECT ROUND(273308.16865363,4) FROM DUAL;
SELECT ROUND(273308.15,4) FROM DUAL;

-- PRECISION DECIMAL -1, REDONDEA EL DIGITO SIGNIFICATIVO N A LA IZQUIERDA DEL PUNTO DECIMAL
-- REDONDEA A LA PROXIMA DECENA
SELECT ROUND(12345.12345,-1) FROM DUAL;
SELECT ROUND(12344.12345,-1) FROM DUAL;
SELECT ROUND(12343.12345,-1) FROM DUAL;

-- PRECISION DECIMAL -2, REDONDEA EL DIGITO SIGNIFICATIVO N A LA IZQUIERDA DEL PUNTO DECIMAL
-- REDONDEA A LA PROXIMA CENTENA
SELECT ROUND(12345.12345,-2) FROM DUAL;
SELECT ROUND(12354.12345,-2) FROM DUAL;
SELECT ROUND(12344.52345,-2) FROM DUAL;

-- PRECISION DECIMAL -3, REDONDEA EL DIGITO SIGNIFICATIVO N A LA IZQUIERDA DEL PUNTO DECIMAL
-- REDONDEA A LA PROXIMA MILLAR
SELECT ROUND(12345.12345,-3) FROM DUAL;
SELECT ROUND(12554.12345,-3) FROM DUAL;
SELECT ROUND(12344.52345,-3) FROM DUAL;

Comentarios