Oracle
 sql >> база данни >  >> RDS >> Oracle

Грешка на Oracle несъвместими типове данни:очакваният CHAR получи LONG

Вашият проблем е, че TEXT е от тип LONG - въпреки че Oracle отхвърли този тип преди много, много време, те все още го използват в собствените си изгледи :-(

За да конвертирате LONG в (с възможност за търсене) CLOB, можете да използвате TO_LOB() функция (вижте документация на Oracle за TO_LOB() .

За съжаление, това не работи за обикновен SELECT изявления. Ще трябва да създадете междинна таблица:

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

След това можете да търсите с тази таблица:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да преименувате колона на таблица в Oracle 10g

  2. Дата и час на Oracle във VB.net

  3. Заменете CHAR с VARCHAR2

  4. Oracle Connect By

  5. Извличане на информация за колона (съставен ключ) в SQL