La función DUMP en Oracle te permite encontrar el tipo de datos, la longitud y la representación interna de un valor. Esta función esta englobada en las denominadas funciones de cadena.
Tabla de Contenidos
ocultar
Sintaxis
Escribe la siguiente sintaxis para utilizarlo:
DUMP ( expresion [, return_format] [, start_position] [, length] )
- Expresión: especifica una expresión que se evaluarán. Puede ser una columna o una expresión..
- return_format: formato de salida.
- start_position: especifica la posición inicial en la expresión para la cual se debe devolver la representación interna.
- length: especifica la longitud, desde start_position, en la expresión para la que se debe devolver la representación interna.
Ejemplos
Obtener el tipo del valor
En el siguiente ejemplo comprobamos el tipo de toda la expresión:
SELECT
DUMP ('Blog 1') COLUMNA1
FROM
dual;

En el restallado observamos lo siguiente:
- Type=96: esto significa que la expresión es de tipo CHAR.
- Len=6: nos indica que la longitud de la expresión es 6.
- 66: se corresponde con la letra B en ASCII.
- 108: se corresponde con la letra l en ASCII.
- …
- 49: se corresponde con el numero 1 en ASCII.
Si en lugar de mostrar los caracteres en ASCII quieres mostrar los reales ejecuta la siguiente consulta:
SELECT
DUMP ('Blog 1',17) COLUMNA1
FROM
dual;

Esta función la puedes usar tambien con campos de una tabla. En el siguiente ejemplo obtenemos el campo nombre de la tabla empleados y el mismo pero usando la función DUMP.
SELECT
nombre,
DUMP (nombre) NOMBRE
FROM
empleados;

Ejemplo completo
-- Comprobamos la salida de la sentencia sin opciones
SELECT
DUMP ('Blog 1') COLUMNA1
FROM
dual;
-- Comprobamos la salida de la sentencia con el formato 17
SELECT
DUMP ('Blog 1') COLUMNA1
FROM
dual;
-- Creamos la tabla
create table empleados
(
id_empleado numeric(2,0),
id_departamento numeric(2,0),
nombre character varying(50),
puesto character varying(50),
fecha_alta date,
sueldo integer
);
-- Insertamos valores
insert into empleados
values (1,1,'Miguel Troyano','Analista',to_date('26/09/1986', 'dd/mm/yyyy'),60000);
insert into empleados
values (2,1,'Ismael Troyano','Analista',to_date('01/01/2001', 'dd/mm/yyyy'),60000);
insert into empleados
values (3,1,'Jose Troyano','Alta Dirección',to_date('01/01/2001', 'dd/mm/yyyy'),80000);
insert into empleados
values (4,1,'Pilar Redondo','Alta Dirección',to_date('02/02/2002', 'dd/mm/yyyy'),80000);
-- Comprobamos la salida del comando con el formato 17
SELECT
DUMP ('Blog 1') COLUMNA1
FROM
dual;
-- Comprobamos la salida del comando utilizando una tabla
SELECT
nombre,
DUMP (nombre) NOMBRE
FROM
empleados;
