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);