Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Convertendo Long para Varchar2


Convertendo de long para varchar2 imediatamente usando uma única instrução não é possível, pois long tem certas restrições.

Você pode Criar uma tabela temporária ou use código PL/SQL para resolver seu problema:

  • Tabela Temporária:

    CREATE TABLE TABLE2 AS SELECT TO_LOB(COLUMN1) COLUMN FROM TABLE1;

  • Código PL/SQL:
    DECLARE
      VAR1 LONG;
      VAR2 VARCHAR2(4000);
    BEGIN
      SELECT TEXT INTO VAR1 FROM USER_VIEWS WHERE ROWNUM = 1;  
      VAR2 := SUBSTR(VAR1, 1, 4000);
      DBMS_OUTPUT.PUT_LINE(VAR2);
    END;