Ik heb een database waar XML Clob's in staan.
Vanuit deze grote lap tekst in een cel wil ik een paar velden hebben.
Tot nu toe heb ik alles kunnen doen m.b.v. substr en instr.
In deze xml file zitten meerdere timestamps. Ik ben op zoek naar de 1e timstamp en naar de laatste timestamp (verschil = doorlooptijd). Het lukt me alleen niet om dit voor elkaar te krijgen.
De query die ik nu heb.(Hierbij is er nog geen verschil tussen first en last timestamp):
select Runlog_id,
substr(RUNLOG.Journal_content,
instr (RUNLOG.Journal_content,'<TimeStamp>')-1+length('<TimeStamp>')+1,
instr(RUNLOG.Journal_content,'</TimeStamp>')-
(instr(RUNLOG.Journal_content,'<TimeStamp>')-1+length('<TimeStamp>')+1)
)
AS FirstTimestamp,
substr(RUNLOG.Journal_content,
instr (RUNLOG.Journal_content,'<TimeStamp>')-1+length('<TimeStamp>')+1,
instr(RUNLOG.Journal_content,'</TimeStamp>')-
(instr(RUNLOG.Journal_content,'<TimeStamp>')-1+length('<TimeStamp>')+1)
)
AS LastTimestamp
FROM RUNLOG
Where Runlog_ID in ('1','2','3')
Iemand een idee?
Vanuit deze grote lap tekst in een cel wil ik een paar velden hebben.
Tot nu toe heb ik alles kunnen doen m.b.v. substr en instr.
In deze xml file zitten meerdere timestamps. Ik ben op zoek naar de 1e timstamp en naar de laatste timestamp (verschil = doorlooptijd). Het lukt me alleen niet om dit voor elkaar te krijgen.
De query die ik nu heb.(Hierbij is er nog geen verschil tussen first en last timestamp):
select Runlog_id,
substr(RUNLOG.Journal_content,
instr (RUNLOG.Journal_content,'<TimeStamp>')-1+length('<TimeStamp>')+1,
instr(RUNLOG.Journal_content,'</TimeStamp>')-
(instr(RUNLOG.Journal_content,'<TimeStamp>')-1+length('<TimeStamp>')+1)
)
AS FirstTimestamp,
substr(RUNLOG.Journal_content,
instr (RUNLOG.Journal_content,'<TimeStamp>')-1+length('<TimeStamp>')+1,
instr(RUNLOG.Journal_content,'</TimeStamp>')-
(instr(RUNLOG.Journal_content,'<TimeStamp>')-1+length('<TimeStamp>')+1)
)
AS LastTimestamp
FROM RUNLOG
Where Runlog_ID in ('1','2','3')
Iemand een idee?