본문 바로가기

[오라클 레퍼런스 함수] JSON_DATAGUIDE - JSON 데이터 가이드 반환

by ㅇㅍㅍ 2023. 8. 7.
[오라클 레퍼런스 함수] JSON_DATAGUIDE - JSON 데이터 가이드 반환
728x90

 

JSON_DATAGUIDE

 

구문

JSON_DATAGUIDE (expr [ , format [ , flag ] ] )

 

목적

JSON_DATAGUIDE 집계 함수는 JSON 데이터로 이루어진 테이블 열을 입력으로 받아서 해당 데이터 가이드(data guide)를 CLOB 형태로 반환합니다. 열의 각 행은 JSON 문서로 간주됩니다. 이 함수는 열의 각 JSON 문서에 대해 해당 문서에 대한 평면 데이터 가이드를 포함하는 CLOB 값을 반환합니다.

JSON_DATAGUIDEGeoJSON 유형을 감지할 수 있습니다.

 

expr

expr은 JSON 객체 또는 JSON 배열로 평가되는 SQL 식입니다.

 

format options

포맷 옵션을 사용하여 반환되는 데이터 가이드의 형식을 지정할 수 있습니다. 다음 값 중 하나여야 합니다:

  • dbms_json.format_flat : 평면 구조에 대한 형식
  • dbms_json.format_hierarchical : 계층 구조에 대한 형식

 

flag options

flag는 다음과 같은 값을 가질 수 있습니다:

  • DBMS_JSON.PRETTY를 지정하면 적절한 들여쓰기로 반환된 데이터 가이드의 가독성을 개선할 수 있습니다.
  • DBMS_JSON.GEOJSON을 지정하면 데이터 가이드가 자동으로 GeoJSON 유형을 감지합니다.
  • DBMS_JSON.GEOJSON+DBMS_JSON.PRETTY를 지정하면 데이터 가이드가 자동으로 GeoJSON 유형을 감지하고 반환된 데이터 가이드의 가독성을 개선합니다.

데이터 가이드로 생성된 뷰는 sdo_geometry 유형과 해당하는 열을 가지게 됩니다.

 

JSON_DATAGUIDE에 대한 제약 사항

이 함수는 샤드 카탈로그 서버에서 실행할 수 없습니다.

 

참고:

자세한 내용은 Oracle Database JSON Developer's Guide를 참조하세요.

 

예시

다음 예제는 "JSON 문서를 포함하는 테이블 생성: 예제"에서 생성된 j_purchaseorder 테이블을 사용합니다. 이 테이블에는 po_document라는 JSON 데이터 컬럼이 있습니다. 이 예제는 po_document 컬럼의 각 JSON 문서에 대해 플랫 데이터 가이드를 반환합니다.

SELECT EXTRACT(YEAR FROM date_loaded) YEAR,
       JSON_DATAGUIDE(po_document) "DATA GUIDE"
  FROM j_purchaseorder
  GROUP BY extract(YEAR FROM date_loaded)
  ORDER BY extract(YEAR FROM date_loaded) DESC;


YEAR DATA GUIDE
---- ------------------------------------------
2016 [
       {
         "o:path" : "$.PO_ID",
         "type" : "number",
         "o:length" : 4
       },
       {
         "o:path" : "$.PO_Ref",
         "type" : "string",
         "o:length" : 16
       },
       {
         "o:path" : "$.PO_Items",
         "type" : "array",
         "o:length" : 64
       },
       {
         "o:path" : "$.PO_Items.Part_No",
         "type" : "number",
         "o:length" : 16
       },
       {
         "o:path" : "$.PO_Items.Item_Quantity",
         "type" : "number",
         "o:length" : 2
       }
     ]
. . .

 


출처: 오라클 레퍼런스

원문 링크: Oracle JSON_DATAGUIDE 함수 문서

 

반응형

댓글