Las Bases de Datos Oracle brindan un enorme conjunto de PL/SQL function para así manipular números y hacer conversiones entre las cadenas de caracteres y los números. Entre las principales funciones de estos tenemos:

Round (m, n); Esta función tiene como entrada un número y devuelve como salida otro número redondeado a uno específico de decimales. Si es que no se hace especificación del número de decimales a mostrar la función round devolverá el número redondeado al entero que más se aproxime. De esa manera el redondeo se realizará con dirección hacia la izquierda del separador decimal en vez de hacerlo hacia la derecha. Ejemplo:

/* PL-SQL Packages en Oracle */

BEGIN

DBMS_OUTPUT.put_line (ROUND (20.35));

DBMS_OUTPUT.put_line (ROUND (20.35, 1));

DBMS_OUTPUT.put_line (ROUND (20.33, 1));

DBMS_OUTPUT.put_line (ROUND (20.35, 2));

DBMS_OUTPUT.put_line (ROUND (20.35, -2));

DBMS_OUTPUT.put_line (ROUND (225, -2));

END;

/

La salida de este bloque PL/SQL sería:

20

20.4

20.3

20.35

0

200

  • Trunc (m, n); esta función se parece mucho a la de la round, la diferencia es que la función trunc se encarga de eliminar o truncar los dígitos, lo que quiere decir que no hace redondeos como la trunc.
  • Ceil (m); este es un tipo de convert en Oracle pues devuelve el menor entero, ya sea mayor o igual que el número especificado como parámetro. Ejemplo:

/* PL-SQL Packages en Oracle */

BEGIN

DBMS_OUTPUT.put_line (CEIL (3.5));

END;

/

La salida de este bloque PL/SQL sería:

4

Libro-Reporte GRATIS: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos” ¡ Haz Click Aquí y Descárgalo Ahora !

  • Mod (m, n); esta función se encarga de calcular el resto del resultado y dividir m entre n, la fórmula que se emplea para hacer este cálculo es: MOD (m, n) = m – n*. Ejemplo:

/* PL-SQL Packages en Oracle */

BEGIN

DBMS_OUTPUT.put_line (MOD (25, 6));

DBMS_OUTPUT.put_line (MOD (25, 9));

END;

/

La salida de este bloque PL/SQL sería:

1

7

  • Remainder (m, n); este calcula el resto por exceso del resultado de dividir m   entre n. Ejemplo:

REMAINDER (m – n) = m – n* ROUND (m/n)

/* PL-SQL Packages en Oracle */

BEGIN

DBMS_OUTPUT.put_line (REMAINDER (25, 6));

DBMS_OUTPUT.put_line (REMAINDER (25, 9));

END;

/

La salida de este bloque PL/SQL sería:

1

-2

  • To_Char (m); ésta función PL/SQL TO_CHAR sirve para convertir un número en una cadena de caracteres. Ejemplo:

/* PL-SQL Packages en Oracle */

BEGIN

DBMS_OUTPUT.put_line (TO_CHAR (200.64));

DBMS_OUTPUT.put_line (TO_CHAR (000200.6400));

DBMS_OUTPUT.put_line (TO_CHAR (20000.00));

END;

/

La salida de este bloque PL/SQL sería:

200.64

200.64

20000

Te propongo que pruebes de inmediato estos ejemplos en tu Base de Datos con tus propias tablas,  PL-SQL Procedures en Oracle y PL-SQL Function en Oracle, para que comiences a ejercitar la mano y aprendas a dominar estas funciones en tus PL-SQL Packages en Oracle.

Estoy muy interesado en conocer tu opinión y/o comentario sobre este artículo, también cuéntame sobre qué es lo que quieres saber de PL-SQL Packages en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con PL-SQL Packages en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.

Saludos

Roberto Vicencio - Autor del Libro-Reporte:

Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos