Skip Headers

오라클 10g 함수
10g Release 1 (10.1)
Go to Documentation Home
HOME
Go to Book List
ORA_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
ORA_10G
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

EXTRACTVALUE

문법

MAIN

extractvalue::=
Description of extractvalue.gif follows

그림 설명

목적

MAIN

EXTRACTVALUE함수는 existsnode와 유사한 함수로써 node의 스칼라 값을 반환.

EXTRACTVALUE함수는 인수로써 XMLType 인스턴스와 XPath 식을 취하여, 결과 노드의 스칼라 값을 반환한다. 그 결과는 싱글 노드,텍스트 노드,속성,요소중에 하나이다. 만약 결과가 요소라면, 그 요소는 자식 노드로써 싱글 text노드를 가져야하고, 이 함수가 반환하는 값은 자식 노드의 값이 된다. 만약 지정한 XPath가 하나 이상의 자식 노드를 가지는 노드를 가르키는 경우이거나, 또는 가르키는 노드가 비 텍스트 노드의 자식노드를 가지는 경우에는 오라클은 에러를 반환한다. 옵션의 namespace_string는 기본적 mapping을 지정한 VARCHAR2값을 결정하거나, 또는 오라클이 XPath 표현을 평가할때 이용하는 접두사에 대한 namespace mapping을 결정한다.

XML 스키마에 근거한 문서로 오라클이 반환값의 형태를 추측할수 있는 경우라면, 적절한 형태의 스칼라 값을 반환한다. 그 외의 경우에는 결과는 VARCHAR2 형태이다. XML 스키마에 근거하지 않는 문서의 경우에는, 반환값은 항상 VARCHAR2이다.


 

예제

MAIN

다음 예제는 입력으로써 EXTRACT (XML)의 예제와 같은 인수를 취한다. 이 함수는 EXTRACT함수와 다르게 XML 플래크먼트(fragment)를 반환하는것이 아니라, XML의 플래그먼트(fragment)의 스칼라 값을 반환한다.

SELECT warehouse_name, 
   EXTRACTVALUE(e.warehouse_spec, '/Warehouse/Docks')
   "Docks"
   FROM warehouses e 
   WHERE warehouse_spec IS NOT NULL;

WAREHOUSE_NAME       Docks
-------------------- ------------
Southlake, Texas     2
San Francisco        1
New Jersey
Seattle, Washington  3