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.