viernes, 6 de mayo de 2011

Convertir un LONG RAW a un VARCHAR

Para poder visualizar una columna LONG RAW o bien si la queremos comparar contra otro varchar, lo que podemos hacer es lo siguiente:

Paso 1:

Creamos el paquete ULT_RAW, para debemos buscar su script de creacion en el direcotrio $ORACLE_HOME\rdbms\admin\.
En este directorio vamos utilizar dos .sql, uno es utlraw.sql y el otro prvtrawb.plb

Con estos scripts vamos a crear el paquete que nos va a permitir convertir nuestros LONG RAW

SQL> @utlraw.sql

Package created.

No errors.

SQL> @prvtrawb.plb

Package body created.

No errors.

Synonym created.

Grant succeeded.



Paso 2:

Ahora estamos en condiciones de realizar un mini-script el cual nos permita justamente ver/comparar nuestro dato

declare
salida varchar(4000);
var long raw;
cursor cur1 is select "columna tipo long raw" from "tabla";
begin
open cur1;
loop
fetch cur1 into var;
exit when cur1%notfound;
salida:=UTL_RAW.CAST_TO_VARCHAR2(var);
dbms_output.put_line(salida);
end loop;
end;

Debemos reemplazar solo "columna tipo long raw" y "tabla", por el nombre de nuestra tabla y del campo a evaluar.

Espero les haya servido

Saludos!
Gondalf.

4 comentarios:

  1. excelente!! muchas gracias!
    DR

    ResponderEliminar
  2. Me alegro que te haya sido util!
    Saludos!

    ResponderEliminar
  3. saben como comparar dos long!!! ???? ayuda esk equalsIgnoreCase es para string pero para long saben cual es

    ResponderEliminar
  4. Perdon!.. nunca vi este comentario, mil disculpas. En que lenguaje lo queres comparar? si es que aun tienes la duda.
    Saludos!

    ResponderEliminar