Ir al contenido principal

La Función TO_CHAR(Números) ok

La función TO_CHAR devuelve un elemento tipo de dato VARCHAR2.  Cuando se aplica a elementos tipo NUMBER, varias opciones de formato están disponibles, la sintaxis es como sigue:

TO_CHAR(number1, [format], [nls_parameter])


El parámetro number1 es obligatorio y debe ser un valor numérico o que puede ser  implícitamente convertido a número. El parámetro format puede ser utilizado para especificar el formato numérico como ancho, símbolo de moneda, la posición del punto decimal y el separador de miles y debe ser encerrado entre comillas simples.

Cuando la Mascara es más pequeña que el numero a convertir, una cadena de símbolos numero en su lugar. Cuando una máscara de formato contiene menos componentes fraccionarios que el número se redondea primero al número de lugares decimales de la máscara de formato antes de ser convertido.



Ejemplos:

-- TO_CHAR EN ELEMENTOS NUMERICOS

-- SE ELIMINAN LOS CEROS A LA IZUIERDA DE LA PARTE ENTERA
-- SE ELIMINAN LOS DECIMALES A LA DERECHA DE LA PARTE DECIMAL
-- NO SE ESTA ESPECIFICANDO MASCARA
SELECT TO_CHAR(00001)          FROM DUAL;
SELECT TO_CHAR(00100)          FROM DUAL;
SELECT TO_CHAR(0035400)        FROM DUAL;
SELECT TO_CHAR(0035400.001)    FROM DUAL;
SELECT TO_CHAR(0035400.1000)   FROM DUAL;
SELECT TO_CHAR(00123459.1000)  FROM DUAL;

-- AGREGANDO UN CERO A LA IZQUIERDA EN LA MASCARA SE CONSERVAN LOS CEROS A LA IZQUIERDA
-- O SE AGREGAN
SELECT TO_CHAR(10,'09999')     FROM DUAL;
SELECT TO_CHAR(1,'09999')      FROM DUAL;
SELECT TO_CHAR(111,'09999')    FROM DUAL;
SELECT TO_CHAR(324,'09999')    FROM DUAL;
SELECT TO_CHAR(43,'09999')     FROM DUAL;
SELECT TO_CHAR(133,'09999')    FROM DUAL;
SELECT TO_CHAR(133,'099999999999999') FROM DUAL;

-- AGREGANDO UN CERO A LA IZQUIERDA EN LA MASCARA SE CONSERVAN LOS CEROS A LA IZQUIERDA
-- O SE AGREGAN, SE AGREGAN UNA D PARA DEFINIR LOS DECIMALES
SELECT TO_CHAR(11500.2801,'99999.99') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2851,'99999.99') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2801,'09999.99') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2852,'09999.99') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2801,'99999.999') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2851,'99999.999') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2801,'09999.999') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2855,'09999.999') FROM DUAL; -- SE REDONDEA LOS DECIMALES

SELECT TO_CHAR(11500.2801,'99999D99') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2851,'99999D99') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2801,'09999D99') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2852,'09999D99') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2801,'99999D999') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2851,'99999D999') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2801,'09999D999') FROM DUAL; -- SE REDONDEA LOS DECIMALES
SELECT TO_CHAR(11500.2855,'09999D999') FROM DUAL; -- SE REDONDEA LOS DECIMALES

SELECT TO_CHAR(1234567890,'9,999,999,999.99') FROM DUAL;
SELECT TO_CHAR(1234567890,'9G999G999G999D99') FROM DUAL;

SELECT TO_CHAR(1234567890,'$9,999,999,999.99') FROM DUAL;
SELECT TO_CHAR(1234567890,'$9G999G999G999D99') FROM DUAL;

SELECT TO_CHAR(1234567890,'S9,999,999,999.99MI') FROM DUAL;

SELECT TO_CHAR(1234567890,'L9G999G999G999D99') FROM DUAL;

Comentarios