Последнее обновление
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.
Примечания по использованию
- Если
<json_object>или<json_path>имеет значение NULL, возвращается NULL. - Если элемент, указанный в
<json_path>, не существует, возвращается NULL. - Если элемент, указанный в
<json_path>, невозможно преобразовать в BOOLEAN, возвращается NULL. - Поведение соответствует сочетанию "cast + json_extract", что эквивалентно:
CAST(JSON_EXTRACT(<json_object>, <json_path>) as BOOLEAN)
Примеры
- Обычные параметры
SELECT json_extract_bool('{"id": true, "name": "doris"}', '$.id');+------------------------------------------------------------+
| json_extract_bool('{"id": true, "name": "doris"}', '$.id') |
+------------------------------------------------------------+
| 1 |
+------------------------------------------------------------+ - Указанный путь не существует
SELECT json_extract_bool('{"id": true, "name": "doris"}', '$.id2');+-------------------------------------------------------------+
| json_extract_bool('{"id": true, "name": "doris"}', '$.id2') |
+-------------------------------------------------------------+
| NULL |
+-------------------------------------------------------------+ - Параметры со значением 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 |
+----------------------------------+ - Преобразование в BOOLEAN невозможно
SELECT json_extract_bool('{"id": 123, "name": "doris"}','$.name');+------------------------------------------------------------+
| json_extract_bool('{"id": 123, "name": "doris"}','$.name') |
+------------------------------------------------------------+
| NULL |
+------------------------------------------------------------+