Перейти к содержимому
Последнее обновление

JSON_EXTRACT_BOOL

Описание​

JSON_EXTRACT_BOOL извлекает поле, указанное в <json_path>, из объекта JSON и преобразует его в тип 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 |
    +------------------------------------------------------------+