element_at
Işlev
Şunun için geçerlidir: Databricks SQL denetimi yes Databricks Runtime
konumundaki index
öğesini arrayExpr
döndürür.
mapExpr
değerini key
dö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 ifademapExpr
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.failOnElementNotExists
false
NULL
.
Ö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