Да, не е разрешено (това ограничение не засяга CLOB s сравнение в PL/SQL), за да използвате оператори за сравнение като = , != , <>код> и така нататък в SQL изрази, когато се опитвате да сравните два CLOB колони или CLOB колона и символен литерал, както правите вие. За да можете да направите такова сравнение в SQL изрази, dbms_lob .compare()
може да се използва.
select *
from aTable
where dbms_lob.compare(aClobColumn, 'value') = 0
В горната заявка 'value' литералът ще бъде имплицитно преобразуван в CLOB тип данни. За да избегнете имплицитно преобразуване, 'value' литералът може да бъде изрично преобразуван в CLOB тип данни с помощта на TO_CLOB() и след това преминете към compare() функция:
select *
from aTable
where dbms_lob.compare(aClobColumn, to_clob('value')) = 0