2016-12-15 2 views
0

이것은 Oracle Database 11g에서 쿼리해야하는 XML 데이터가있는 BLOB 필드입니다. 나는 XML은 BLOB 필드에 삽입 된 방법을 모른다, 그러나 이것은 내가 DBMS_LOB.substr를 사용하여 쿼리를 얻고 무엇을() 함수 : 여기Oracle Database 11g의 BLOB 필드에서 XML을 가져 오는 방법은 무엇입니까?

enter image description here

+4

XML과 비슷하지 않습니다. – Sentinel

+0

@Sentinel convert() 함수를 사용한 인코딩이 끝났습니까? –

답변

2

당신이 그것을하는 방법이다 :

  • 1. 먼저 당신은 BLOB에 삽입 된 XML의 구조를 찾을 수있다. 예를 들어 특정 문자열을 추출하는 SUBSTR 기능을 사용하려면 는 select XMLTYPE(blob_field, 1) as XML from my_table;

  • 2. 이제 다음을 수행 할 수 있습니다 : 예 xml_tag/xml_tag/../text()에서 SELECT substr(XMLTYPE (UTL_RAW.cast_to_varchar2 (blob_field)).EXTRACT('xml_tag/xml_tag/../text()'),200,200) as "XML DATA" FROM my_table where pk = 123123;

당신의 XML 구조입니다. 예를 들어 내 구조는 <Profile><Name>Your Customer Name</Name></Profile>입니다. 그래서 나는로 작성해야 할 것입니다 Profile/Name/text()

희망이 도움이됩니다.

+0

감사합니다. 필드에 xml이 없거나 이진 데이터가있는 것 같습니다. 나는 정보를 얻기 위해 웹 서비스를 사용하여 끝났다. –