본문 바로가기

[오라클 레퍼런스 함수] EXTRACT (XML) - XML 데이터 조각(fragment) 추출

by ㅇㅍㅍ 2023. 8. 4.
[오라클 레퍼런스 함수] EXTRACT (XML) - XML 데이터 조각(fragment) 추출
728x90

EXTRACT (XML)

 

구문

EXTRACT(XMLType_instance, XPath_string [, namespace_string ])

 

목적

EXTRACT (XML) 함수는 EXISTSNODE 함수와 유사합니다. VARCHAR2 형식의 XPath 문자열을 적용하고 XMLType 인스턴스를 반환하여 XML 조각(fragment)을 가져옵니다. 초기 슬래시(initial slash)를 포함한 절대(absolute) XPath_string이나 초기 슬래시(initial slash)를 생략한 상대(relative) XPath_string을 지정할 수 있습니다. 초기 슬래시(initial slash)를 생략하면 상대 경로의 컨텍스트가 루트 노드로 기본 설정됩니다. XML에 네임스페이스 접두사가 사용되는 경우 선택적으로 namespace_string이 필요합니다. 이 인수는 Oracle Database가 XPath 식을 평가할 때 접두사에 대한 default 매핑 또는 namespace 매핑을 지정하는 VARCHAR2 값이어야 합니다.

 

예제

다음 예제는 샘플 테이블 oe.warehouseswarehouse_spec 열의 XML 경로에서 /Warehouse/Dock 노드의 값을 추출합니다.

SELECT warehouse_name,
       EXTRACT(warehouse_spec, '/Warehouse/Docks') "Number of Docks"
  FROM warehouses
  WHERE warehouse_spec IS NOT NULL
  ORDER BY warehouse_name;

WAREHOUSE_NAME            Number of Docks
------------------------- -------------------------
New Jersey
San Francisco             <Docks>1</Docks>
Seattle, Washington       <Docks>3</Docks>
Southlake, Texas          <Docks>2</Docks>

 

이 예제는 EXTRACTVALUE와 비교하여, XML 조각의 스칼라(scalar) 값이 아닌 XML 조각(fragment)의 값을 반환하는 함수 EXTRACT를 보여줍니다.


출처: 오라클 레퍼런스

원문 링크: Oracle EXTRACT (XML) 함수 문서

 

반응형

댓글