El extract()
la función está en desuso
. Es mejor usar XMLQuery()
.
Debe declarar un espacio de nombres predeterminado para que coincida con el del 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
o (más simple pero menos robusto) use un comodín:
select XMLQuery('/*:Bid/*:BidName/text()'
passing XMLType(xmlbidcontent)
returning content) as BidName
from employeebids
where EmployeeBidID = 100;
BIDNAME
--------------------------------------------------------------------------------
BAC
db<>fiddle mostrando sus consultas originales y ambas, usando un CTE para proporcionar el valor CLOB de muestra.