How to convert LONG to VARCHAR2

  • From: Eriovaldo Andrietta <ecandrietta@xxxxxxxxx>
  • To: ORACLE-L <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 12 Apr 2013 13:22:41 -0300

Hi Friends,
How can I convert the column USER_TAB_COLUMNS.DATA_DEFAULT to VARCHAR2 in
order to compare the content with a VARCHAR2 column, using SQL or PL/SQL.
The column DATA_DEFAULT has LONG datatype.

I am using Oracle 11g database.

I used this function, but it did not work:

CREATE OR REPLACE FUNCTION LONG_TO_CHAR
   ( in_table_name varchar,
     in_column varchar2,
     in_column_name varchar2,
     in_tab_name varchar2)
RETURN varchar AS
text_c1 varchar2(32767);
sql_cur varchar2(2000);
begin
sql_cur := 'select '||in_column||' from
'||in_table_name||' where column_name = ' ||
chr(39)||in_column_name||chr(39) ||' AND TABLE_NAME=' ||
chr(39)||in_tab_name||chr(39); --1 AND ROWNUM = 1';
dbms_output.put_line (sql_cur);
execute immediate sql_cur into text_c1;
text_c1 := substr(text_c1, 1, 4000);
RETURN TEXT_C1;
END;
/

Best regards
Eriovaldo.


--
//www.freelists.org/webpage/oracle-l


Other related posts: