La función TRUNC desarrolla una operación de truncado sobre un valor numérico basado en una precisión decimal especificada. Un truncado numérico es diferente de un redondeo, el valor resultante disminuye el número de números con la precisión decimal especificado y no intenta redondear arriba o abajo si la precisión decimal es positiva. Sin embargo, si la precisión decimal (n) especificada es negativa, el valor de entrada se pone a cero hacia abajo desde la posición decimal enésimo. Si la precisión decimal es negativa, el valor en la posición n es bajado a cero.
La función TRUNC toma dos parámetros.
Sintaxis:
TRUNC(source number, decimal precision)
Source number, representa cualquier literal numérico, columna o expresión. Decimal precisión especifica el nivel de truncado y es opcional si el parámetro está ausente, el nivel de redondeo es cero, que significa el source number es truncado al número entero próximo o más cercano.
Si la precisión especificada es 1 entonces el número es truncado en 10 unidades. Si es 2 es truncado a cien unidades y así consecutivamente.
Ejemplos:
-- TRUNCADO CERO, PRECISION DECIMAL AUSENTE - EL NUMERO ES TRUNCADO A ENTERO MÁS PROXIMO
-- POR LO VISTO EN ESTOS EJEMPLOS, EL ENTERO MÁS PROXIMO ES LA PARTE ENTERA
-- SE ELIMINA LA PARTE DECIMAL
SELECT TRUNC(10000.9999) FROM DUAL;
SELECT TRUNC(12345.9999) FROM DUAL;
SELECT TRUNC(10000.6000) FROM DUAL;
SELECT TRUNC(10000.5999) FROM DUAL;
-- TRUNCADO 1
-- SE TOMAN LAS PRIMERAS 10 UNIDADES LA PARTE DECIMAL
SELECT TRUNC(1601.916718,1) FROM DUAL;
SELECT TRUNC(1601.016718,1) FROM DUAL;
SELECT TRUNC(1601.116718,1) FROM DUAL;
SELECT TRUNC(1601.516718,1) FROM DUAL;
SELECT TRUNC(1601,1) FROM DUAL;
-- TRUNCADO 2
-- SE TOMAN LAS PRIMERAS 100 UNIDADES LA PARTE DECIMAL
SELECT TRUNC(1601.916718,2) FROM DUAL;
SELECT TRUNC(1601.096718,2) FROM DUAL;
SELECT TRUNC(1601.016718,2) FROM DUAL;
SELECT TRUNC(1601.006718,2) FROM DUAL;
SELECT TRUNC(1601.00,2) FROM DUAL;
-- TRUNCADO 3
-- SE TOMAN LAS PRIMERAS 1000 UNIDADES LA PARTE DECIMAL
SELECT TRUNC(1601.916718,3) FROM DUAL;
SELECT TRUNC(1601.096718,3) FROM DUAL;
SELECT TRUNC(1601.016718,3) FROM DUAL;
SELECT TRUNC(1601.006718,3) FROM DUAL;
SELECT TRUNC(1601.916718,3) FROM DUAL;
-- TRUNCADO 7
-- SE TOMAN LAS PRIMERAS 7 NUMEROS A LA IZQUIERDA
SELECT TRUNC(1601.916718,7) FROM DUAL;
SELECT TRUNC(1601.096718,7) FROM DUAL;
SELECT TRUNC(1601.016718,7) FROM DUAL;
SELECT TRUNC(1601.006718,7) FROM DUAL;
-- TRUNCADO NEGATIVO
SELECT TRUNC(1601.006718,-1) FROM DUAL;
SELECT TRUNC(1609.006718,-1) FROM DUAL;
SELECT TRUNC(1691.006718,-2) FROM DUAL;
SELECT TRUNC(1901.006718,-3) FROM DUAL;
SELECT TRUNC(9601.006718,-4) FROM DUAL;
-- La función TRUC
SELECT TRUNC(1234567890.1234567890,1) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,2) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,3) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,4) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,5) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,6) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,7) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,8) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,9) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,10) FROM DUAL;
SELECT TRUNC(1234567890.1234567890) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-1) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-2) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-3) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-4) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-5) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-6) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-7) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-8) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-9) FROM DUAL;
SELECT TRUNC(1234567890.1234567890,-10) FROM DUAL;
Comentarios
Publicar un comentario