JSON_TABLE SELECT 1
SELECT A.YYYY AS YYYY
, A.ACNT_UNIT AS ACNT_UNIT
, A.ACNT_FG AS ACNT_FG
, A.ROW_TYPE AS ROW_TYPE
FROM JSON_TABLE(
/* $[*] = []*/
'
[{
"YYYY" : "2022"
,"ACNT_UNIT" : "10"
,"ACNT_FG" : "11"
,"ROW_TYPE" : "C"
}, {
"YYYY" : "2022"
,"ACNT_UNIT" : "20"
,"ACNT_FG" : "21"
,"ROW_TYPE" : "R"
}, {
"YYYY" : "2022"
,"ACNT_UNIT" : "20"
,"ACNT_FG" : "21"
,"ROW_TYPE" : "U"
}]
'
,'$[*]' COLUMNS (
YYYY VARCHAR2(10) PATH '$.YYYY'
, ACNT_UNIT VARCHAR2(10) PATH '$.ACNT_UNIT'
, ACNT_FG VARCHAR2(10) PATH '$.ACNT_FG'
, ROW_TYPE VARCHAR2(10) PATH '$.ROW_TYPE'
)
) A
ORDER BY 1, 2, 3;
결과 1
JSON_TABLE SELECT 2
SELECT *
FROM JSON_TABLE ('{A:1, B:2, C:3}', '$' COLUMNS (A, B, C));
결과 2
JSON_TABLE SELECT 3
SELECT *
FROM JSON_TABLE (
'[{A:1, B:2, C:3}, {A:4, B:5, C:6}, {A:7, B:8, C:9}]'
, '$[*]' COLUMNS (A, B, C)
)
WHERE B = 5
결과 3
JSON Developer's Guide
SQL/JSON function json_table projects specific JSON data to columns of various SQL data types. You use it to map parts of a JSON document into the rows and columns of a new, virtual table, which you can also think of as an inline view.
docs.oracle.com
JSON_TABLE() Function in Oracle
In Oracle Database, the JSON_TABLE() function creates a relational view of JSON data. It allows you to present the values in a JSON document in table format – as rows and columns. Syntax The syntax goes like this: JSON_TABLE ( expr [ FORMAT JSON ] [ , JS
database.guide
번외) 구분자로 분리하여 행으로 반환하는 TABLE FUNCTION
'DB > ORACLE' 카테고리의 다른 글
[ORACLE] 텍스트 균등분할(균등정렬) FUNCTION (0) | 2023.08.18 |
---|---|
[ORACLE] VIRTUAL COLUMN(가상 열) 예제 (0) | 2023.07.04 |
[ORACLE] BETWEEN 주의사항 (0) | 2022.07.11 |
[ORACLE] 구분자로 분리하여 행으로 반환하는 TABLE FUNCTION (0) | 2022.02.16 |
[ORACLE] DB에서 신규, 수정, 삭제 차단 (0) | 2022.02.14 |