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;