Ano, není to povoleno (toto omezení nemá vliv na CLOB
s porovnání v PL/SQL) k použití porovnávací operátory jako =
, !=
, <>
a tak dále v příkazech SQL, když se pokoušíte porovnat dva CLOB
sloupce nebo CLOB
sloupec a znakový doslov, jako vy. Aby bylo možné provést takové srovnání v příkazech SQL, dbms_lob .compare()
lze použít.
select *
from aTable
where dbms_lob.compare(aClobColumn, 'value') = 0
Ve výše uvedeném dotazu 'value'
literál bude implicitně převeden na CLOB
datový typ. Chcete-li se vyhnout implicitní konverzi, 'value'
literál lze explicitně převést na CLOB
datový typ pomocí TO_CLOB()
a poté předejte do compare()
funkce:
select *
from aTable
where dbms_lob.compare(aClobColumn, to_clob('value')) = 0