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
الدالة ترجع NULL
false
بدلا من رفع الأخطاء.
امثله
> 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