database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41436 게시물 읽기
No. 41436
XML Type 컬럼에 조건 select 문의
작성자
양정표(jungpyoo)
작성일
2017-07-03 17:48
조회수
6,105

 안녕하세요..

 

특정 Table의  Xmldate 라는 컬럼에  내용이 있는데  내용은 아래와 같습니다.

 

ORACLE 쿼리 문으로  ITEM_ID ="20009" 에 속한   "M"   을 결과값으로 빼고 싶은데,

REEXP_REPLACE 로   4000자 미만은 시행 되는데,   이상 넘어갈땐  

문자열 버퍼가 너무 작음 메세지가 뜹니다.   해당 컬럼내용이 보통  40000 이상이 되는 경우가 종종 있어서요

EXTRACVALUE  함수로 가능할 것 같은데  도움 부탁드립니다.

 

------------------------------------------------------------------------------------------------------------------ 

 

<XML>

 

  <ReportTemplateName> RT_2344_Echo_CUH_TTE </ReportTemplateName>

<XML_DATE>

<TEMPLATE>

      <VALUE item_id="20002">2017-06-30</VALUE>

      <VALUE item_id="20010">058Y</VALUE>

      <VALUE item_id="20009">M</VALUE>

 

</TEMPLATE>

</XML_DATE>

</XML>

 

이 글에 대한 댓글이 총 2건 있습니다.

WITH t AS
(
SELECT XMLTYPE('
<XML>
  <ReportTemplateName> RT_2344_Echo_CUH_TTE </ReportTemplateName>
  <XML_DATE>
    <TEMPLATE>
      <VALUE item_id="20002">2017-06-30</VALUE>
      <VALUE item_id="20010">058Y</VALUE>
      <VALUE item_id="20009">M</VALUE>
    </TEMPLATE>
  </XML_DATE>
</XML>
') v
  FROM dual
)
SELECT ExtractValue(v, '/XML/XML_DATE/TEMPLATE/VALUE[@item_id="20009"]') x
  FROM t
;

마농(manon94)님이 2017-07-03 18:32에 작성한 댓글입니다.

  답변 정말 감사 드립니다.

항상 감사합ㄴ디ㅏ.~

aaaa님이 2017-07-03 19:12에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41441그룹잡아서 소분류를 결과로 내고 싶습니다. [2]
봉달이
2017-07-05
6386
41440구간 순번 및 중복 확인 (내용 수정) [7]
최상민
2017-07-04
7038
41439세로로 된 데이터를 가로로 보여주기 [2]
webma
2017-07-03
6765
41436XML Type 컬럼에 조건 select 문의 [2]
양정표
2017-07-03
6105
41435Insert 작업 속도개선 요청 [2]
마카
2017-06-29
6146
41434마이너스 필드 타입 [1]
아폴론
2017-06-28
6085
41433쿼리문 좋은것좀 가르쳐주세요. [3]
라라라
2017-06-27
6411
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다