본문 바로가기

[오라클 레퍼런스 함수] EXISTSNODE - XML 문서 탐색 시 노드 존재 여부 반환

by ㅇㅍㅍ 2023. 8. 4.
[오라클 레퍼런스 함수] EXISTSNODE - XML 문서 탐색 시 노드 존재 여부 반환
728x90

EXISTSNODE

 

구문

EXISTSNODE(XMLType_instance, XPath_string [, namespace_string ])

 

목적

EXISTSNODE 함수는 지정된 경로를 사용하여 XML 문서를 탐색했을 때 노드가 있는지 여부를 결정합니다. 이 함수는 XMLType 인스턴스와 VARCHAR2 형식의 XPath 문자열로 구성된 경로를 인수로 받습니다. 선택적으로, namespace_string은 Oracle Database가 XPath 식을 평가할 때 사용하는 기본 매핑 또는 네임스페이스 매핑을 지정하는 VARCHAR2 값으로 해석되어야 합니다.

namespace_string 인수는 루트 요소의 네임스페이스로 기본값을 갖습니다. Xpath_string에서 하위 요소를 참조하는 경우 namespace_string을 지정해야 하며 이 두 인수에 "who" 접두사를 반드시 지정해야 합니다.

 

참고: namespace_string을 지정하고 "who" 접두사를 사용하는 예제에 대해서는 Using XML in SQL Statements을 참조하세요.

 

반환 값은 NUMBER입니다:

  • 0: XML 문서에 XPath 탐색을 적용한 후에 남은 노드가 없을 경우
  • 1: 어떤 노드든 남아있을 경우

 

예제

다음 예제는 샘플 테이블 oe.warehouseswarehouse_spec 열의 XML 경로에서 /Warehouse/Dock 노드의 존재 여부를 테스트합니다.

SELECT warehouse_id, warehouse_name
  FROM warehouses
  WHERE EXISTSNODE(warehouse_spec, '/Warehouse/Docks') = 1
  ORDER BY warehouse_id;

WAREHOUSE_ID WAREHOUSE_NAME
------------ -----------------------------------
           1 Southlake, Texas
           2 San Francisco
           4 Seattle, Washington

 


출처: 오라클 레퍼런스

원문 링크: Oracle EXISTSNODE 함수 문서

 

반응형

댓글