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

JSON_EXTRACT_ISNULL

Описание​

JSON_EXTRACT_ISNULL определяет, имеет ли поле, заданное выражением <json_path> в объекте JSON, значение null.

Синтаксис​

JSON_EXTRACT_ISNULL(<json_object>, <json_path>)

Параметры​

  • <json_object>: параметр типа JSON, из которого извлекается значение.
  • <json_path>: параметр строкового типа, задающий путь JSON для извлечения нужного элемента из исходного JSON.

Возвращаемое значение​

Nullable(BOOL) Возвращает true, если значение равно null, иначе возвращает false.

Примечания по использованию​

  1. Если <json_object> или <json_path> имеет значение NULL, возвращает NULL.
  2. Если элемент, заданный выражением <json_path>, не существует, возвращает NULL.
  3. Если элемент, заданный выражением <json_path>, имеет значение, отличное от null, возвращает false.

Примеры​

  1. Обычные параметры

    SELECT json_extract_isnull('{"id": 123, "name": "doris"}', '$.id');
    +-------------------------------------------------------------+
    | json_extract_isnull('{"id": 123, "name": "doris"}', '$.id') |
    +-------------------------------------------------------------+
    | 0 |
    +-------------------------------------------------------------+
    SELECT json_extract_isnull('{"id": null, "name": "doris"}', '$.id');
    +--------------------------------------------------------------+
    | json_extract_isnull('{"id": null, "name": "doris"}', '$.id') |
    +--------------------------------------------------------------+
    | 1 |
    +--------------------------------------------------------------+
  2. Случай, когда путь не существует

    SELECT json_extract_isnull('{"id": null, "name": "doris"}', '$.id2');
    +---------------------------------------------------------------+
    | json_extract_isnull('{"id": null, "name": "doris"}', '$.id2') |
    +---------------------------------------------------------------+
    | NULL |
    +---------------------------------------------------------------+
  3. Параметры со значением NULL

    SELECT json_extract_isnull('{"id": 123, "name": "doris"}', NULl);
    +-----------------------------------------------------------+
    | json_extract_isnull('{"id": 123, "name": "doris"}', NULl) |
    +-----------------------------------------------------------+
    | NULL |
    +-----------------------------------------------------------+
    SELECT json_extract_isnull(NULL, '$.id2');
    +------------------------------------+
    | json_extract_isnull(NULL, '$.id2') |
    +------------------------------------+
    | NULL |
    +------------------------------------+