'Conditions (like "like") on binary field (blob) in oracle

How can I search in (put condition on) blob field in oracle, like text fields?

I need someting like:

select * from table_name where blob_field like '%00ff00ff%'

Oracle throws some error on it.



Solution 1:[1]

You can use dbms_lob.instr for this purpose i.e.

   select * from table_name 
   where dbms_lob.instr(blob_field, utl_raw.CAST_TO_RAW('00ff00ff'), 1, 1) > 0

Solution 2:[2]

select *
from NDF_MODEL_PARAM
where dbms_lob.instr(VALUE, 'NaN') > 0;

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 APC
Solution 2 Suraj Rao