element_at函数

适用于:检查标记是的砖的SQL检查标记是的砖运行时

返回的元素arrayExpr指数

回报的价值mapExpr关键

语法

element_at(arrayExpr,指数)
element_at(mapExpr,关键)

参数

  • arrayExpr:数组的表情。

  • 指数:一个整数表达式。

  • mapExpr:地图表达。

  • 关键:一个表达式匹配的键的类型mapExpr

返回

如果第一个参数是一个数组:

  • 结果是元素的类型expr

  • abs(指数)必须介于1和数组的长度。

  • 如果指数是负的函数访问元素从最后一个第一。

  • 函数提出了INVALID_ARRAY_INDEX_IN_ELEMENT_AT如果错误abs(索引)超过数组的长度。

如果第一个参数是一个地图关键不能匹配条目mapExpr函数返回null。

请注意

在砖运行时,如果spark.sql.ansi.failOnElementNotExists函数返回而不是提高错误。

例子

>选择element_at(数组(1,2,3),2);2>选择try_element_at(数组(1,2,3),5);>选择element_at(数组(1,2,3),5);错误:INVALID_ARRAY_INDEX_IN_ELEMENT_AT>选择element_at(地图(1,“一个”,2,“b”),2);b>选择element_at(地图(1,“一个”,2,“b”),3);>选择try_element_at(地图(1,“一个”,2,“b”),3);