مشاركة عبر


element_at دالة

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime

إرجاع عنصر arrayExpr في index.

إرجاع قيمة mapExpr ل key.

بناء الجملة

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

الوسيطات

  • arrayExpr: تعبير صفيف.
  • index: تعبير عدد صحيح.
  • mapExpr: تعبير MAP.
  • key: تعبير يطابق نوع مفاتيح mapExpr

المرتجعات

إذا كانت الوسيطة الأولى عبارة عن ARRAY:

  • تكون النتيجة من نوع عناصر expr.
  • يجب أن يكون abs(index) بين 1 وطول الصفيف.
  • إذا كانت index سالبة، تصل الدالة إلى العناصر من الأخير إلى الأول.
  • تثير الدالة خطأ INVALID_ARRAY_INDEX_IN_ELEMENT_AT إذا abs(index) تجاوزت طول الصفيف.

إذا كانت الوسيطة الأولى عبارة عن MAP ولا key يمكن مطابقتها مع إدخال في mapExpr الدالة، فترجع قيمة خالية.

إشعار

في Databricks Runtime، إذا كانت spark.sql.ansi.failOnElementNotExists الدالة false ترجع NULL بدلا من رفع الأخطاء.

الأمثلة

> 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