JSON_TRANSFORM
구문
JSON_TRANSFORM
( input_expr , operation [ , operation ]... [ JSON_TRANSFORM_returning_clause ]
[ JSON_passing_clause ] )
JSON_TRANSFORM_returning_clause::=
RETURNING (
VARCHAR2 [ ( size [BYTE | CHAR] ) ]
| CLOB
| BLOB
)
[ (ALLOW | DISALLOW) ]
JSON_passing_clause::=
PASSING expr AS identifier [, expr AS identifier ]...
JSON_passing_clause에 대한 자세한 내용은 "JSON_EXISTS Condition"을(를) 참조하십시오.
operation ::=
removeOp
| insertOp
| replaceOp
| appendOp
| setOp
| renameOp
| keepOp
removeOp ::=
REMOVE pathExpr [ (IGNORE | ERROR) ON MISSING ]
insertOp ::=
INSERT pathExpr = rhsExpr [ ( REPLACE | IGNORE | ERROR) ON EXISTING ]
[ ( NULL | IGNORE | ERROR | REMOVE ) ON NULL ]
replaceOp ::=
REPLACE pathExpr = rhsExpr [ ( CREATE | IGNORE | ERROR) ON MISSING ]
[ ( NULL | IGNORE | ERROR | REMOVE ) ON NULL ]
rhsExpr ::=
sqlExpr [ FORMAT JSON ]
appendOp ::=
APPEND pathExpr = rhsExpr [ ( CREATE | IGNORE | ERROR) ON MISSING ]
[ ( NULL | IGNORE | ERROR) ON NULL ]
setOp ::=
SET pathExpr = rhsExpr [ (IGNORE | ERROR | REPLACE) ON EXISTING ]
[ ( CREATE | IGNORE | ERROR) ON MISSING ] [ ( NULL | IGNORE | ERROR) ON NULL ]
renameOp ::=
RENAME pathExpr WITH stringLiteral [ (IGNORE | ERROR) ON MISSING ]
keepOp ::=
KEEP ( pathExpr [( IGNORE | ERROR ) ON MISSING ] ) ...
목적
JSON_TRANSFORM를 사용하여 함수에 입력되는 JSON 문서를 수정할 수 있습니다. 하나 이상의 수정 작업을 지정하여 JSON 데이터에 변경 사항을 수행하여 JSON 문서(또는 JSON 문서의 일부)를 변경할 수 있습니다. 변경된 JSON 문서가 출력으로 반환됩니다.
JSON 데이터를 지원하는 모든 SQL 데이터 유형을 입력으로 사용할 수 있습니다. 예를 들어 입력은 IS JSON 체크 제약 조건이 있는지 여부에 상관없이 VARCHAR2 컬럼이나 JSON 데이터를 반환하는 함수 호출 등이 될 수 있습니다.
예제
예제 1: 타임스탬프로 JSON 컬럼 업데이트하기
UPDATE t SET jcol = JSON_TRANSFORM(jcol, SET '$.lastUpdated' = SYSTIMESTAMP)
예제 2: 고객에게 JSON을 전송하기 전에 주민등록번호 제거하기
SELECT JSON_TRANSFORM (jcol, REMOVE '$.ssn') FROM t WHERE …
JSON_TRANSFORM_returning_clause
기본 출력(output) 데이터 유형은 입력(input) 데이터 유형과 일치합니다.
입력 데이터 유형이 VARCHAR2이고 크기가 어떤 경우든, 기본 출력 데이터 유형은 VARCHAR2(4000)입니다.
JSON_TRANSFORM에 대한 더 자세한 설명과 예제는 Oracle SQL Function JSON_TRANSFORM을 참조하세요.
출처: 오라클 레퍼런스
원문 링크: Oracle JSON_TRANSFORM 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] LAG - 해당 위치의 이전 행 데이터 조회 (0) | 2023.08.08 |
---|---|
[오라클 레퍼런스 함수] JSON_VALUE - JSON 속성 값 추출 (0) | 2023.08.08 |
[오라클 레퍼런스 함수] JSON_TABLE - JSON 데이터를 관계형 뷰로 생성 (0) | 2023.08.08 |
[오라클 레퍼런스 함수] JSON_SERIALIZE - JSON 데이터를 텍스트 형식으로 변환 (0) | 2023.08.08 |
[오라클 레퍼런스 함수] JSON_QUERY - JSON 문서에서 일부 내용 추출 (0) | 2023.08.08 |
댓글