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
Publicar un comentario