INVALID_FUNCTION_ARGUMENT:数组下标超出范围

时间:2019-07-10 00:45:35

标签: sql presto amazon-athena

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

select col.pages[1].name, col.pages[2].name from assoc

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

INVALID_FUNCTION_ARGUMENT: Array subscript out of bounds

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

1 个答案:

答案 0 :(得分:1)

雅典娜基于Presto 0.172。您可以将表达式包装在Presto的try中:

function tryMe(x, y) {
  if(!x || !y) return console.log('No values')
  if (x == y) {
    console.log("x and y are equal");
  } else if (x > y) {
    console.log("x is greater than y");
  } else if (x < y) {
    console.log("x is less than y")
  }
}

tryMe()