PL-SQL Function en OracleAprender a utilizar de forma eficiente la PL-SQL Function en Oracle TO_CHAR te permitirá transformar datos numéricos y de fecha a datos de tipo texto proporcionándole el formato que desees para cada dato en tus PL-SQL Packages en Oracle. La PL-SQL Function en Oracle TO_CHAR es muy útil cuando se requiere formatear los datos que se van a mostrar en una consulta SELECT en la base de datos en tus PL-SQL Packages en Oracle.

La PL-SQL Function en Oracle TO_CHAR cuenta con tres parámetros cuya sintaxis es la siguiente:

/* PL-SQL Function en Oracle */

TO_CHAR(<fecha/número>,<formato>,<separadores>)

Fecha: Corresponde a un dato de tipo fecha (Date)

Número: Corresponde a un dato de tipo numérico (Number)

Formato: Corresponde a una cadena de caracteres que permite dar formato al dato que se está transformando. Existen muchos formatos que se pueden usar tanto para las fechas como para los números, vamos a revisar los más utilizados.

Separadores: Corresponde a una cadena de caracteres que permite definir los caracteres separadores para los miles y los decimales. Este parámetro se usa solo para los datos numéricos.

La PL-SQL Function en Oracle TO_CHAR se puede ocupar con un comando SQL o asignándola directamente a una variable. Revisemos a continuación algunos ejemplos prácticos que te permitan entender de mejor forma como se debe usar la PL-SQL Function en Oracle TO_CHAR en tus PL-SQL Packages en Oracle:

Ejemplo #1: Supone que debes mostrar la fecha de ingreso de un empleado en varios formatos distintos, veamos cómo se hace:

/* PL-SQL Function en Oracle */

Select

To_char(emp.fec_ingreso,’dd/mm/yyyy’),

To_char(emp.fec_ingreso,’yyyy-mm-dd’),

To_char(emp.fec_ingreso,’month’),

To_char(emp.fec_ingreso,’yyyy-mm-dd hh:mi:ss’),

To_char(emp.fec_ingreso,’dd/mm/yyyy hh24:mi:ss’),

To_char(emp.fec_ingreso,’d’)

From t_empleado  emp

Where emp.rut = pin_rut;

Los caracteres de la PL-SQL Function en Oracle TO_CHAR corresponden a: dd= número del día, mm= número del mes, yyyy= número del año, hh= hora am/pm, hh24= formato en 24 horas, mi= minutos, ss= segundos, d= día de la semana y month= nombre del mes. El resultado de esta query en tus PL-SQL Packages en Oracle es el siguiente:

/* PL-SQL Function en Oracle */

01/04/2011

2011-04-01

Abril

2011-04-01 05:38:14

01/04/2011 17:38:14

5

TÚ REPORTE: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”

¡ Haz Click Aquí y Descárgalo GRATIS Ahora !

Ejemplo #2: Supone que debes mostrar el sueldo del empleado y sus días trabajados en un formato más amigable y claro a la vista, vamos como se hace usando TO_CHAR:

/* PL-SQL Function en Oracle */

Select

To_char(emp.sueldo_emp,’ 999G999G999G999G999’,

’NLS_NUMERIC_CHARACTERS = ”,.”’) sueldo,

To_char(emp.dias,’ 999G999G999G999D99’,’ NLS_NUMERIC_CHARACTERS = ”,.”’) dias

From t_empleado emp

Where emp.rut = pin_rut;

Los caracteres de la PL-SQL Function en Oracle TO_CHAR corresponden a: 9= representa un número, G= representa el carácter separador de miles, D= representa el punto decimal, NLS_NUMERIC_CHARACTERS= define los caracteres separadores de miles y decimales. El resultado de esta query en tus PL-SQL Packages en Oracle es el siguiente:

Sueldo                        Días

3.450.322                   29,50

Te propongo que pruebes de inmediato este ejemplo en tu Base de Datos con tus propios PL-SQL Procedures en Oracle y PL-SQL Function en Oracle, para que comiences a ejercitar la mano y aprendas a dominar esta nueva técnica 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 Function en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con PL-SQL Function en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.

Saludos

Roberto Vicencio - Escritor del Reporte:

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