Il extract()
la funzione è obsoleta
. È meglio usare XMLQuery()
.
Devi dichiarare uno spazio dei nomi predefinito che corrisponda a quello nel documento XML:
select XMLQuery('
declare default element namespace
"http://schemas.datacontract.org/2004/07/LCC.Crew.FAReserves.wsvc.Entities.FAReserves"; (: :)
/Bid/BidName/text()'
passing XMLType(xmlbidcontent)
returning content) as BidName
from employeebids
where EmployeeBidID = 100;
BIDNAME
--------------------------------------------------------------------------------
BAC
oppure (più semplice ma meno robusto) usa un carattere jolly:
select XMLQuery('/*:Bid/*:BidName/text()'
passing XMLType(xmlbidcontent)
returning content) as BidName
from employeebids
where EmployeeBidID = 100;
BIDNAME
--------------------------------------------------------------------------------
BAC
db<>violino mostrando le tue query originali ed entrambe, utilizzando un CTE per fornire il valore CLOB di esempio.