extract()
関数は非推奨です
。 XMLQuery()<を使用することをお勧めします。 / code>
。
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
または(単純ですが堅牢性は劣ります)ワイルドカードを使用します:
select XMLQuery('/*:Bid/*:BidName/text()'
passing XMLType(xmlbidcontent)
returning content) as BidName
from employeebids
where EmployeeBidID = 100;
BIDNAME
--------------------------------------------------------------------------------
BAC
db <> fiddle CTEを使用してサンプルCLOB値を提供し、元のクエリとその両方を表示します。