Oracle/JSON

Oracle/JSON

CSV to JSON Array

Oracle은 아쉽게도 CSV 형식의 문자 값을 JSON Array로 변환하는 기능을 제공하지 않습니다. 아래와 같이 CSV 형식의 문자 값을 JSON Array 형식으로 변환하는 사용자 정의 함수를 생성하겠습니다. -- 1 CREATE OR REPLACE FUNCTION fnc_csv_to_jarray ( i_val IN CLOB , i_del IN VARCHAR2 DEFAULT ',' , i_typ IN VARCHAR2 DEFAULT 'C' -- C, N ) RETURN CLOB -- RETURN JSON IS PRAGMA UDF; TYPE taa_varchar2 IS TABLE OF VARCHAR2(32747) INDEX BY PLS_INTEGER; v_buf VARCHAR2(32767); v_tm..

Oracle/JSON

JSON_EACH 함수

개요 PostgreSQL의 JSON_EACH 함수는 key-value로 구성된 JSON 오브젝트를 로우 형식으로 반환합니다. Oracle Database는 JSON_EACH 함수를 제공하지 않아 PL/SQL 함수를 통해 JSON_EACH 함수 기능을 구현해야 합니다. PostgreSQL 테스트를 위해 아래와 같이 테이블을 생성하겠습니다. -- 1 DROP TABLE IF EXISTS t1; CREATE TABLE t1 (c1 JSON); INSERT INTO t1 VALUES ('{"A":1,"B":2}'); COMMIT; JSON_EACH 함수는 아래와 같이 동작합니다. -- 2 SELECT b.key, b.value FROM t1 a, JSON_EACH (a.c1) b; key | value ----..

Oracle/JSON

Unnest JSON Array

개요 PostgreSQL의 UNNEST 함수는 배열 값을 로우 형식으로 반환합니다. 다수의 배열 값을 입력하면 같은 위치의 배열 값이 하나의 로우로 반환됩니다. Oracle Database는 JSON 배열과 PL/SQL 함수로 유사한 기능을 구현할 수 있습니다. PostgreSQL 테스트를 위해 아래와 같이 테이블을 생성하겠습니다. -- 1 DROP TABLE IF EXISTS t1; CREATE TABLE t1 (c1 INTEGER[], c2 TEXT[]); INSERT INTO t1 VALUES ('{1,2,3}', '{"A","B"}'); -- INSERT INTO t1 VALUES (ARRAY[1,2,3], ARRAY['A','B']); COMMIT; UNNEST 함수는 아래와 같이 동작합니다. ..

정희락
'Oracle/JSON' 카테고리의 글 목록