element_at işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

konumundaki arrayExpröğesini index döndürür.

mapExpr değerini keydöndürür.

Söz dizimi

element_at(arrayExpr, index)
element_at(mapExpr, key)

Bağımsız değişkenler

  • arrayExpr: ARRAY ifadesi.
  • index: INTEGER ifadesi.
  • mapExpr: MAP ifadesi.
  • key: tuşlarının türüyle eşleşen bir ifade mapExpr

Döndürülenler

İlk bağımsız değişken bir ARRAY ise:

  • Sonuç, öğelerinin türündedir expr.
  • abs(dizin) 1 ile dizinin uzunluğu arasında olmalıdır.
  • Negatifse index , işlev öğelere en sondan birinciye kadar erişir.
  • 0 ise Azure Databricks index yükseltir.
  • Azure Databricks dizinin uzunluğunu aşarsa abs(index) yükseltir.

İlk bağımsız değişken bir MAP ise ve key işlevdeki mapExpr bir girişle eşleştirilemiyorsa null döndürür.

Not

Databricks Runtime'da, işlev hata oluşturmak yerine döndürüyorsa spark.sql.ansi.failOnElementNotExistsfalseNULL .

Yaygın hata koşulları

Örnekler

> SELECT element_at(array(1, 2, 3), 2);
 2

> SELECT try_element_at(array(1, 2, 3), 5);
 NULL

> SELECT element_at(array(1, 2, 3), 0);
 Error: INVALID_INDEX_OF_ZERO

> SELECT element_at(array(1, 2, 3), 5);
 Error: INVALID_ARRAY_INDEX_IN_ELEMENT_AT

> SELECT element_at(map(1, 'a', 2, 'b'), 2);
 b

> SELECT element_at(map(1, 'a', 2, 'b'), 3);
 NULL

> SELECT try_element_at(map(1, 'a', 2, 'b'), 3);
 NULL