> For the complete documentation index, see [llms.txt](https://docs.tibero.com/tibero-manuals/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tibero.com/tibero-manuals/7.2.6.manuals/sql-reference-guide/functions/json_value.md).

# JSON\_VALUE

**JSON\_VALUE**는 JSON 데이터에서 지정한 경로에 해당하는 스칼라 JSON 값을 반환하는 함수입니다.

JSON\_VALUE의 세부 내용은 다음과 같습니다.

* **문법**

<div align="left"><figure><img src="https://4150084347-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fevqs7Ne3nMyXQFkBSQWR%2Fuploads%2Fgit-blob-07789feb65fbb88ee015215518d4281ebead872b%2F7PS_json_value.png?alt=media" alt="" width="589"><figcaption><p>JSON_VALUE Syntax</p></figcaption></figure></div>

<div align="left"><figure><img src="https://4150084347-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fevqs7Ne3nMyXQFkBSQWR%2Fuploads%2Fgit-blob-d725cbf26adde7279e4c8ebea6a217b48733f397%2F7PS_json_value_returning_clause.png?alt=media" alt="" width="544"><figcaption><p>JSON_VALUE_RETURNING_CLAUSE</p></figcaption></figure></div>

<div align="left"><figure><img src="https://4150084347-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fevqs7Ne3nMyXQFkBSQWR%2Fuploads%2Fgit-blob-7e34e910bb7c23576b2599c3307da1da99408f63%2F7PS_json_value_on_error_clause.png?alt=media" alt="" width="312"><figcaption><p>JSON_VALUE_ON_ERROR_CLAUSE</p></figcaption></figure></div>

<div align="left"><figure><img src="https://4150084347-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fevqs7Ne3nMyXQFkBSQWR%2Fuploads%2Fgit-blob-531b1af25dcf3e1b8ae13669d4e620cab8075941%2F7PS_json_value_on_empty_clause.png?alt=media" alt="" width="314"><figcaption><p>JSON_VALUE_ON_EMPTY_CLAUSE</p></figcaption></figure></div>

* **구성요소**

<table><thead><tr><th width="268">구성요소</th><th>설명</th></tr></thead><tbody><tr><td>expr</td><td>질의 대상이 되는 JSON 데이터</td></tr><tr><td>json_path_expression</td><td><ul><li>질의할 JSON 경로 표현식</li><li>경로 표현식은 리터럴 값이어야 함</li></ul></td></tr><tr><td>json_value_returning_clause</td><td><ul><li>함수에서 반환할 값의 데이터 형식과 포맷을 지정하는 구문</li><li>지정하지 않으면 기본값은 <code>VARCHAR2(65532)</code>임</li></ul></td></tr><tr><td>json_value_on_error_clause</td><td><ul><li>오류가 발생할 때 반환할 값을 지정하는 구문</li><li>지정하지 않으면 기본값은 <code>NULL ON ERROR</code>임</li></ul></td></tr><tr><td>json_value_on_empty_clause</td><td><ul><li>일치하는 결과가 없을 때 반환할 값을 지정하는 구문</li><li>지정하지 않으면 <code>json_value_on_error_clause</code> 구문에 따라 반환 값을 결정함</li></ul></td></tr></tbody></table>

* **예제**

다음은 JSON\_VALUE 함수를 사용하는 예입니다.

```
CREATE TABLE T (J_COL JSON);
INSERT INTO T VALUES ('
  {
    "json_object" : {
        "json_string" : "string"}
  }
');

1 row inserted.

SELECT JSON_VALUE(J_COL FORMAT JSON, '$.json_object.json_string'
    RETURNING VARCHAR2(10)) AS JSON_VAL FROM T;

JSON_VAL
------------------------------------------------------------
string

1 row selected.

SELECT JSON_VALUE(J_COL FORMAT JSON, '$.json_object.json_string'
    RETURNING VARCHAR2(1)) AS JSON_VAL FROM T;

JSON_VAL
--------


1 row selected.

SELECT JSON_VALUE(J_COL FORMAT JSON, '$.json_object.json_string'
    RETURNING VARCHAR2(1) ERROR ON ERROR) FROM T;

TBR-11070: The result value is too large (Maximum value: 1)
```
