跳到主要内容
版本:Latest-3.4

get_json_double

此函数用于分析并从 JSON 字符串中指定路径获取浮点值。json_path 必须以 $ 开头,并使用 . 作为路径分隔符。

提示

所有的 JSON 函数和操作符都列在导航栏和概览页面

通过生成列加速查询

如果路径中包含 .,可以用 "" 包围。

[ ] 用作数组下标,从 0 开始。

路径中的内容不应包含 "[]

如果 json_string 或 json_path 的格式错误,此函数将返回 NULL。

语法

DOUBLE get_json_double(VARCHAR json_str, VARCHAR json_path)

示例

  1. 获取键为 "k1" 的值

    MySQL > SELECT get_json_double('{"k1":1.3, "k2":"2"}', "$.k1");
    +-------------------------------------------------+
    | get_json_double('{"k1":1.3, "k2":"2"}', '$.k1') |
    +-------------------------------------------------+
    | 1.3 |
    +-------------------------------------------------+
  2. 获取键为 "my.key" 的数组中的第二个元素

    MySQL > SELECT get_json_double('{"k1":"v1", "my.key":[1.1, 2.2, 3.3]}', '$."my.key"[1]');
    +---------------------------------------------------------------------------+
    | get_json_double('{"k1":"v1", "my.key":[1.1, 2.2, 3.3]}', '$."my.key"[1]') |
    +---------------------------------------------------------------------------+
    | 2.2 |
    +---------------------------------------------------------------------------+
  3. 获取路径为 k1.key -> k2 的数组中的第一个元素。

    MySQL > SELECT get_json_double('{"k1.key":{"k2":[1.1, 2.2]}}', '$."k1.key".k2[0]');
    +---------------------------------------------------------------------+
    | get_json_double('{"k1.key":{"k2":[1.1, 2.2]}}', '$."k1.key".k2[0]') |
    +---------------------------------------------------------------------+
    | 1.1 |
    +---------------------------------------------------------------------+

关键字

GET_JSON_DOUBLE,GET,JSON,DOUBLE