INVALID_FUNCTION_ARGUMENT:数组下标越界

wip*_*phd 2 sql presto amazon-athena

我正在查询具有可变长度 JSON 数组的列。

select col.pages[1].name, col.pages[2].name from assoc
Run Code Online (Sandbox Code Playgroud)

当数组中只有一个值时,我收到此错误。

INVALID_FUNCTION_ARGUMENT: Array subscript out of bounds
Run Code Online (Sandbox Code Playgroud)

如果只有一个值,如何防止此错误?

Pio*_*sen 6

Athena 基于 Presto 0.172。您可以在 Presto 中包装您的表达式try

SELECT try(some_array[2]) FROM ...
Run Code Online (Sandbox Code Playgroud)