XMLType 컬럼의 TEXT 내용중 CDATA가 있을때? 0 1 2,579

by 블루오션 [SQL Query] [2012.07.05 14:29:38]


안녕하세요 오라클 초보 입니다.

오라클 11g를 사용하고 있습니다.

테이블 컬럼 타입이 XMLType인 컬럼에 XML을 통째로 넣고 있는대

<data id="text"><![CDATA[ 안녕하세요~~!!$%$ ]]></data>

이런식의 엘리먼트가 있는대 select 쿼리를 통해서 data 엘리먼트 안에 있는대 텍스트를 꺼내 오려고 합니다.

그래서 쓴게

 XML_INFO.extract( '/data[@id="text"]/text()').getStringVal() as DATA

이런식으로 했더니...

출력되는게  <![CDATA[ 안녕하세요~~!!$%$ ]]> 이렇게 통짜로 뽑아 오더군요

저 CDATA 부분을 제외하고 가져오고 싶은대 replace 하는 방법 밖에 없는지요?

고수님들 조언좀 부탁드립니다.
by 블루오션 [2012.07.05 14:48:19]
자답 ~~ 아
extractvalue 를 사용 하면 되는군요~_~;;;;

extractvalue(XML_INFO,  '/data[@id="text"]/text()') as DATA

하니까 되내요~_~;;; 이런 간단한걸 ;;;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입