跳到主要内容

GET_PATH

VARIANT 中通过 path_name 提取值。 如果任一参数为 NULL,则返回值为 VariantNULL

GET_PATH 等同于一系列 GET 函数的链式调用,path_name 由一系列以句点 (.)、冒号 (:) 或索引运算符 ([index]) 开头的字段名连接而成。第一个字段名不需要指定前导标识符。

语法

GET_PATH( <variant>, <path_name> )

参数

参数描述
<variant>包含 ARRAY 或 OBJECT 的 VARIANT 值
<path_name>由一系列字段名连接而成的字符串值

返回类型

VARIANT

示例

SELECT get_path(parse_json('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}'), 'k1[0]');
+-----------------------------------------------------------------------+
| get_path(parse_json('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}'), 'k1[0]') |
+-----------------------------------------------------------------------+
| 0 |
+-----------------------------------------------------------------------+

SELECT get_path(parse_json('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}'), 'k2:k3');
+-----------------------------------------------------------------------+
| get_path(parse_json('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}'), 'k2:k3') |
+-----------------------------------------------------------------------+
| 3 |
+-----------------------------------------------------------------------+

SELECT get_path(parse_json('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}'), 'k2.k4');
+-----------------------------------------------------------------------+
| get_path(parse_json('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}'), 'k2.k4') |
+-----------------------------------------------------------------------+
| 4 |
+-----------------------------------------------------------------------+

SELECT get_path(parse_json('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}'), 'k2.k5');
+-----------------------------------------------------------------------+
| get_path(parse_json('{"k1":[0,1,2], "k2":{"k3":3,"k4":4}}'), 'k2.k5') |
+-----------------------------------------------------------------------+
| NULL |
+-----------------------------------------------------------------------+
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册