📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

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>由多个字段名串联组成的 String 值

返回类型

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 | +-----------------------------------------------------------------------+

文档内容是否有帮助?