Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2007, 10:02
abassols
 
Fecha de Ingreso: enero-2007
Mensajes: 6
Antigüedad: 17 años, 3 meses
Puntos: 0
Conversion Long a Varchar

Hola y antetodo..Feliz año a todos/as....

Mi pregunta seria la siguiente...os pongo en situación...

Tengo una tabla con un campo memo y quisiera realizar una select, que filtrara por este campo para buscar un caracter.

He probado lo siguiente y siempre he llegado al mismo sitio...."error"


1. SELECT * FROM [nombre_tabla] WHERE [campo_memo] LIKE '%[lo_que_sea]%'

2. SELECT * FROM [nombre_tabla] WHERE CAST([campo_memo],VARCHAR2(4000)) LIKE '%[lo_que_sea]%'

3. He creado una tabla exactamente igual que la dicha, (realizando un export y un import, ya que con el CREATE AS nasti de plasti, y con el insert de un campo long a un varchar2 idem de lo mismo), para crear a posterior un campo vacío varchar2 y realizar el correspondiente update del memo al varchar. Tampoco. Incluso con un cursor nada.

4. Funcion que he encontrado por la red:

CREATE OR REPLACE FUNCTION LONG_TO_CHAR(in_rowid rowid,in_table_name varchar,in_column varchar2)
RETURN varchar AS
text_c1 varchar2(32767);
sql_cur varchar2(2000);
--
begin
sql_cur := 'select '||in_column||' from
'||in_table_name||' where ' ||in_rowid;
dbms_output.put_line (sql_cur);
execute immediate sql_cur into text_c1;

text_c1 := substr(text_c1, 1, 4000);
RETURN TEXT_C1;
END;

La llamada seria algo así como:
SELECT LONG_TO_CHAR('IG='xxxxxx'','[nombre_tabla]','[campo_memo]') FROM DUAL

Tampoco.

Todas estas pruebas llegan al magnifico error numerico o de valor..
ORA-06502: PL/SQL: numeric or value error:


Como veis, estoy un poco apurado ......un poquito de ayuda no me vendria mal...

Grácias de antemano.