extract()
funktion er forældet
. Det er bedre at bruge XMLQuery()
.
Du skal enten erklære et standardnavneområde for at matche det i XML-dokumentet:
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
eller (enklere men mindre robust) brug et jokertegn:
select XMLQuery('/*:Bid/*:BidName/text()'
passing XMLType(xmlbidcontent)
returning content) as BidName
from employeebids
where EmployeeBidID = 100;
BIDNAME
--------------------------------------------------------------------------------
BAC
db<>fiddle viser dine originale forespørgsler og begge disse, ved hjælp af en CTE til at angive CLOB-eksemplet-værdien.