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