L'extract()
la fonction est obsolète
. Il est préférable d'utiliser XMLQuery()
.
Vous devez soit déclarer un espace de noms par défaut correspondant à celui du document 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
ou (plus simple mais moins robuste) utilisez un joker :
select XMLQuery('/*:Bid/*:BidName/text()'
passing XMLType(xmlbidcontent)
returning content) as BidName
from employeebids
where EmployeeBidID = 100;
BIDNAME
--------------------------------------------------------------------------------
BAC
db<>violon montrant vos requêtes d'origine et les deux, en utilisant un CTE pour fournir l'exemple de valeur CLOB.