본문 바로가기

[오라클 레퍼런스 함수] JSON_SERIALIZE - JSON 데이터를 텍스트 형식으로 변환

by ㅇㅍㅍ 2023. 8. 8.
[오라클 레퍼런스 함수] JSON_SERIALIZE - JSON 데이터를 텍스트 형식으로 변환
728x90

 

JSON_SERIALIZE

 

구문

JSON_SERIALIZE 
(  expr [ JSON_returning_clause ] [ PRETTY ] [ASCII ] [ TRUNCATE ] 
   [ { NULL | ERROR | ( EMPTY {ARRAY | OBJECT} ) } ON ERROR ] 
)

 

목적

json_serialize 함수는 입력으로 VARCHAR2, CLOB, BLOB와 같은 모든 SQL 데이터 유형의 JSON 데이터를 받아들이고 이를 텍스트 형식으로 반환합니다. 일반적으로 쿼리 결과를 변환하는 데 사용됩니다.

json_serialize를 사용하여 이진 JSON 데이터를 텍스트 형식(VARCHAR2 또는 CLOB)으로 변환하거나, 텍스트 JSON 데이터를 예쁘게 출력(pretty-printing)하거나 non-ASCII 유니코드 문자를 이스케이프(escaping)하는 등의 변환 작업에 사용할 수 있습니다.

 

expr

expr은 입력 식을 나타냅니다. VARCHAR2, CLOB 또는 BLOB 중 하나의 유형이 될 수 있습니다.

 

JSON_returning_clause

JSON_returning_clause을 사용하여 반환 유형을 지정합니다. 반환 유형은 VARCHAR2, CLOB 또는 BLOB 중 하나일 수 있습니다.

기본 반환 유형은 VARCHAR2(4000)입니다.

반환 유형이 RAW 또는 BLOB인 경우 UTF8로 인코딩된 JSON 텍스트가 포함됩니다.

 

PRETTY

결과를 사람이 읽기 쉬운 형식으로 서식 지정하려면 PRETTY를 지정하세요.

 

ASCII

ASCII를 지정하면 non-ASCII 문자가 JSON 이스케이프 시퀀스를 사용하여 출력됩니다.

 

TRUNCATE

결과 문서의 텍스트 출력을 지정된 반환 유형의 버퍼에 맞게 조정하려면 TRUNCATE를 지정합니다.

 

JSON_on_error_clause

JSON_on_error_clause를 지정하여 처리 오류의 처리 방식을 제어할 수 있습니다.

ERROR ON ERROR가 기본값입니다.

EMPTY ON ERROR는 지원되지 않습니다.

JSON_on_error_clause와 함께 TRUNCATE를 지정하는 경우 반환 유형의 버퍼에 맞지 않는 값은 오류를 발생시키지 않고 버퍼에 맞게 잘립니다.

 

예시

SELECT JSON_SERIALIZE ('{a:[1,2,3,4]}' RETURNING VARCHAR2(3) TRUNCATE ERROR ON ERROR) from dual
–-------
{"a

 

참고:

Oracle SQL Function JSON_SERIALIZE


출처: 오라클 레퍼런스

원문 링크: Oracle JSON_SERIALIZE 함수 문서

 

반응형

댓글