8.22.2011

Searching in CLOB

I wanted to search the login_name from a xml file. And, that xml file was stored in a clob column.
-- = starting tag
--
= ending tag


select * from (
select t.id,form_id
, dbms_lob.substr(
t.enteredBy
,(dbms_lob.instr(t.enteredBy, '',1,1) - dbms_lob.instr(t.enteredBy, '',1,1) - 11)
,dbms_lob.instr(t.enteredBy, '',1,1)+11
) login_name
from
(
select o.id,o.form_id
,dbms_lob.substr(
o.clob_data
,(dbms_lob.instr(o.clob_data, '
',1,1) - dbms_lob.instr(o.clob_data, '',1,1) - 11)
,dbms_lob.instr(o.clob_data, '',1,1)+11
) enteredBy
from old_data_type_idf o
where dbms_lob.instr(o.clob_data, '',1,1)>0
) t
)X
where X.form_id='IDF-PRIMECT-36J2M5VWFC';