sql >> Database >  >> RDS >> Oracle

Oracle Error inconsistente datatypes:verwachte CHAR werd LANG

Uw probleem is dat TEKST van het type LANG is - hoewel Oracle dit type lang, lang geleden heeft afgekeurd, gebruiken ze het nog steeds in hun eigen opvattingen :-(

Om een ​​LONG om te zetten in een (doorzoekbare) CLOB, kun je de TO_LOB() gebruiken functie (zie Oracle-documentatie voor TO_LOB() .

Helaas werkt dit niet voor eenvoudige SELECT verklaringen. U moet een tussentabel maken:

create table search_all_views as 
select  av.owner, av.view_name, to_lob(text) as text_clob
from    ALL_VIEWS av;

Vervolgens kunt u zoeken met behulp van die tabel:

select * 
from search_all_views
where text_clob like '%rownum%';


  1. Java en MySql stellen unicode-tekens in voor deze klasse

  2. MySQL &PHP:zoeken op meerdere trefwoorden

  3. connection.select_value retourneert alleen strings in postgres met pg gem

  4. Is er PHP mysql_real_escape_string voor postgresql?