본문으로 건너뛰기
최종 수정: 에

JSON_EXTRACT_BOOL

설명​

JSON_EXTRACT_BOOL은 JSON 객체에서 <json_path>로 지정한 필드를 추출하여 BOOLEAN 타입으로 변환합니다.

구문​

JSON_EXTRACT_BOOL(<json_object>, <json_path>)

매개변수​

  • <json_object>: JSON 타입으로, 값을 추출할 대상 매개변수입니다.
  • <json_path>: String 타입으로, 대상 JSON에서 추출할 요소를 지정하는 JSON 경로입니다.

반환 값​

Nullable(BOOLEAN) 타입으로 추출한 BOOLEAN 값을 반환합니다. 경우에 따라 NULL을 반환합니다.

사용 시 참고 사항​

  1. <json_object> 또는 <json_path>가 NULL이면 NULL을 반환합니다.
  2. <json_path>로 지정한 요소가 없으면 NULL을 반환합니다.
  3. <json_path>로 지정한 요소를 BOOLEAN으로 변환할 수 없으면 NULL을 반환합니다.
  4. 동작은 "cast + json_extract"와 일치하며, 다음과 동등합니다:
    CAST(JSON_EXTRACT(<json_object>, <json_path>) as BOOLEAN)

예제​

  1. 정상적인 매개변수
    SELECT json_extract_bool('{"id": true, "name": "doris"}', '$.id');
    +------------------------------------------------------------+
    | json_extract_bool('{"id": true, "name": "doris"}', '$.id') |
    +------------------------------------------------------------+
    | 1 |
    +------------------------------------------------------------+
  2. 경로가 없는 경우
    SELECT json_extract_bool('{"id": true, "name": "doris"}', '$.id2');
    +-------------------------------------------------------------+
    | json_extract_bool('{"id": true, "name": "doris"}', '$.id2') |
    +-------------------------------------------------------------+
    | NULL |
    +-------------------------------------------------------------+
  3. NULL 매개변수
    SELECT json_extract_bool('{"id": true, "name": "doris"}', NULl);
    +----------------------------------------------------------+
    | json_extract_bool('{"id": true, "name": "doris"}', NULl) |
    +----------------------------------------------------------+
    | NULL |
    +----------------------------------------------------------+
    SELECT json_extract_bool(NULL, '$.id2');
    +----------------------------------+
    | json_extract_bool(NULL, '$.id2') |
    +----------------------------------+
    | NULL |
    +----------------------------------+
  4. BOOLEAN으로 변환할 수 없는 경우
    SELECT json_extract_bool('{"id": 123, "name": "doris"}','$.name');
    +------------------------------------------------------------+
    | json_extract_bool('{"id": 123, "name": "doris"}','$.name') |
    +------------------------------------------------------------+
    | NULL |
    +------------------------------------------------------------+