如何在BLOB字段中进行文本搜索

我们创建了一个BLOB类型列来存储6000到7000个ASCII字符的有效负载。 我正在使用以下代码插入有效负载。

PreparedStatement stmt=conn.prepareStatement(insertQuery);
String record="My ASCII Payload";
stmt.setBytes(1, record.getBytes());
stmt.execute();

当我在查询下面运行时,我可以在输出中看到字符的长度。

select dbms_lob.getLength(MY_PAYLOAD)
  from RAW_DATA;

6085

我想在此BLOB列中执行文本搜索,我尝试使用以下选项没有任何效果。在BLOB列中执行文本搜索的正确方法是什么?

SELECT * FROM RAW_DATA t
WHERE dbms_lob.instr(t.MY_PAYLOAD,utl_raw.cast_to_raw(‘1234’))>0



select *
       from RAW_DATA 
       where dbms_lob.instr (MY_PAYLOAD, -- the blob
                       utl_raw.cast_to_raw ('1234'),
                       1, -- where to start. i.e. offset
                       1 -- Which occurrance i.e. 1=first
                        ) > 0