Последнее обновление
JSON_EXTRACT_INT
Описание
JSON_EXTRACT_INT извлекает из объекта JSON поле, указанное в <json_path>, и преобразует его в тип INT.
Синтаксис
JSON_EXTRACT_INT(<json_object>, <json_path>)
Параметры
<json_object>: значение типа JSON, из которого извлекается элемент.<json_path>: значение типа String, задающее путь JSON к элементу, который нужно извлечь из исходного JSON.
Возвращаемое значение
Nullable(INT) Возвращает извлечённое значение INT; в некоторых случаях возвращает NULL.
Примечания по использованию
- Если
<json_object>или<json_path>имеет значение NULL, возвращает NULL. - Если элемент, указанный в
<json_path>, не существует, возвращает NULL. - Если элемент, указанный в
<json_path>, невозможно преобразовать в INT, возвращает NULL. - Поведение соответствует сочетанию "cast + json_extract", что эквивалентно:
CAST(JSON_EXTRACT(<json_object>, <json_path>) as INT)
Примеры
- Обычные параметры
SELECT json_extract_int('{"id": 123, "name": "doris"}', '$.id');+----------------------------------------------------------+
| json_extract_int('{"id": 123, "name": "doris"}', '$.id') |
+----------------------------------------------------------+
| 123 |
+----------------------------------------------------------+ - Несуществующий путь
SELECT json_extract_int('{"id": 123, "name": "doris"}', '$.id2');+-----------------------------------------------------------+
| json_extract_int('{"id": 123, "name": "doris"}', '$.id2') |
+-----------------------------------------------------------+
| NULL |
+-----------------------------------------------------------+ - Параметры со значением NULL
SELECT json_extract_int('{"id": 123, "name": "doris"}', NULl);+--------------------------------------------------------+
| json_extract_int('{"id": 123, "name": "doris"}', NULl) |
+--------------------------------------------------------+
| NULL |
+--------------------------------------------------------+SELECT json_extract_int(NULL, '$.id2');+---------------------------------+
| json_extract_int(NULL, '$.id2') |
+---------------------------------+
| NULL |
+---------------------------------+ - Преобразование в INT невозможно
SELECT json_extract_int('{"id": 123, "name": "doris"}','$.name');+-----------------------------------------------------------+
| json_extract_int('{"id": 123, "name": "doris"}','$.name') |
+-----------------------------------------------------------+
| NULL |
+-----------------------------------------------------------+