element_at Işlev

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi yes Databricks Runtime olarak işaretlendi

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

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

Sözdizimi

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

Bağımsız değişken

  • 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ür

İ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 sonuncudan ilkine kadar erişir.
  • işlevi, dizinin uzunluğunu aşarsa abs(index)INVALID_ARRAY_INDEX_IN_ELEMENT_AT hata verir.

İlk bağımsız değişken 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ülüyorsa spark.sql.ansi.failOnElementNotExistsfalseNULL .

Ö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), 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