element_at وظيفه

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

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

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

بناء الجمله

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

الحجج

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

ارجاع

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

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

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

ملاحظه

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

امثله

> 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