Der extract()
Funktion ist veraltet
. Verwenden Sie besser XMLQuery()
.
Sie müssen entweder einen Standardnamensraum deklarieren, der mit dem im XML-Dokument übereinstimmt:
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
oder (einfacher, aber weniger robust) verwenden Sie einen Platzhalter:
select XMLQuery('/*:Bid/*:BidName/text()'
passing XMLType(xmlbidcontent)
returning content) as BidName
from employeebids
where EmployeeBidID = 100;
BIDNAME
--------------------------------------------------------------------------------
BAC
db<>fiddle Zeigen Sie Ihre ursprünglichen Abfragen und beide an und verwenden Sie einen CTE, um den Beispiel-CLOB-Wert bereitzustellen.