Presto:从 json 中提取最后一个元素



在转换 json 字段并获取与其服务相关的信息后,我有一个数组。该服务在 json 字符串中获取多个值,我在输出中获取所有这些值。不过,我想保留最后一次出现。

我得到的输出是:

[Free Assessment, Synthetic Oil Change]

我只想保留

Synthetic Oil Change 

作为输出,我尝试通过","进行 substr,但有些信息的形式是

[Free Assessment, Synthetic Oil Change at 15,000 miles]

然后我想保留整个最后一件事。我试过json_array_get但它对我不起作用。有没有办法做到这一点?

要从包含数组的 JSON 中获取最后一个元素,您需要首先使用json_array_length函数获取最后一个元素的索引,并使用json_array_get获取元素。详情请见:https://prestosql.io/docs/current/functions/json.html

presto> SELECT json_array_get(x, json_array_length(x) - 1) 
FROM (VALUES JSON'["first value", "second value"]') t(x);
_col0
--------------
second value
(1 row)

上面的例子是用 Presto 326 执行的。

相关内容

  • 没有找到相关文章

最新更新