Ja, det er ikke tilladt (denne begrænsning påvirker ikke CLOB s sammenligning i PL/SQL) for at bruge sammenligningsoperatorer som = , != , <> og så videre i SQL-sætninger, når du prøver at sammenligne to CLOB kolonner eller CLOB kolonne og et bogstav, som du gør. For at kunne foretage en sådan sammenligning i SQL-sætninger, dbms_lob .compare()
funktion kan bruges.
select *
from aTable
where dbms_lob.compare(aClobColumn, 'value') = 0
I ovenstående forespørgsel, 'værdi' literal vil implicit blive konverteret til CLOB datatype. For at undgå implicit konvertering, 'værdi' literal kan eksplicit konverteres til CLOB datatype ved hjælp af TO_CLOB() funktion og derefter gå ind i compare() funktion:
select *
from aTable
where dbms_lob.compare(aClobColumn, to_clob('value')) = 0