跳到主要内容

GET_PATH

通过 path_name半结构化(VARIANT) 中提取值。 如果任一参数为 NULL,则返回 半结构化(Variant)NULL

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
低成本
快速分析
多种数据源
弹性扩展
注册