Ya, itu tidak diperbolehkan (pembatasan ini tidak mempengaruhi CLOB s perbandingan dalam PL/SQL) untuk menggunakan operator perbandingan seperti = , != , <> dan seterusnya dalam pernyataan SQL, ketika mencoba membandingkan dua CLOB kolom atau CLOB kolom dan karakter literal, seperti yang Anda lakukan. Untuk dapat melakukan perbandingan seperti itu dalam pernyataan SQL, dbms_lob .bandingkan()
fungsi dapat digunakan.
select *
from aTable
where dbms_lob.compare(aClobColumn, 'value') = 0
Dalam kueri di atas, 'value' literal akan secara implisit dikonversi ke CLOB tipe data. Untuk menghindari konversi implisit, 'value' literal dapat secara eksplisit dikonversi ke CLOB tipe data menggunakan TO_CLOB() fungsi dan kemudian meneruskan ke compare() fungsi:
select *
from aTable
where dbms_lob.compare(aClobColumn, to_clob('value')) = 0