JSON_DATAGUIDE
구문
JSON_DATAGUIDE (expr [ , format [ , flag ] ] )
목적
JSON_DATAGUIDE 집계 함수는 JSON 데이터로 이루어진 테이블 열을 입력으로 받아서 해당 데이터 가이드(data guide)를 CLOB 형태로 반환합니다. 열의 각 행은 JSON 문서로 간주됩니다. 이 함수는 열의 각 JSON 문서에 대해 해당 문서에 대한 평면 데이터 가이드를 포함하는 CLOB 값을 반환합니다.
JSON_DATAGUIDE는 GeoJSON 유형을 감지할 수 있습니다.
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 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] JSON_OBJECT - JSON 객체의 키-값 쌍 반환 (0) | 2023.08.07 |
---|---|
[오라클 레퍼런스 함수] JSON_MERGEPATCH - JSON 문서 병합하여 수정 (0) | 2023.08.07 |
[오라클 레퍼런스 함수] JSON_ARRAYAGG - JSON 배열 생성 (0) | 2023.08.07 |
[오라클 레퍼런스 함수] JSON_ARRAY - JSON 배열 생성 (0) | 2023.08.07 |
[오라클 레퍼런스 함수] ITERATION_NUMBER - ITERATE(n)인 경우 n-1을 반환 (0) | 2023.08.06 |
댓글