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