إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime
تعبير معلمات يمكن تمريره إلى دالة للتحكم في سلوكها.
على سبيل المثال، تقبل الدالة array_sort دالة lambda كوسيطة لتعريف ترتيب فرز مخصص.
بناء الجملة
{ param -> expr |
(param1 [, ...] ) -> expr }
المعلمات
paramN: معرف تستخدمه الدالة الأصل لتمرير وسيطات الدالة lambda.expr: أي تعبير بسيط يشيرparamNإلى ، والذي لا يحتوي على استعلام فرعي أو دالة يحددها المستخدم SQL.
المرتجعات
يتم تعريف نوع النتيجة بواسطة نوع exprنتيجة .
إذا كان هناك أكثر من ، paramNيجب أن تكون أسماء المعلمات فريدة. يتم تعيين أنواع المعلمات بواسطة دالة الاستدعاء.
expression يجب أن يكون صالحا لهذه الأنواع ويجب أن يتطابق نوع النتيجة مع التوقعات المحددة لوظائف الاستدعاء.
الأمثلة
تتوقع دالة array_sort دالة lambda بمعلمتين.
ستكون أنواع المعلمات هي نوع عناصر الصفيف المراد فرزها.
من المتوقع أن يرجع التعبير INTEGER حيث يعني param1<param2-1 ، و0 يعني param1 = param2، و1 بخلاف ذلك.
لفرز صفيف سلسلة بترتيب معجمي من اليمين إلى اليسار، يمكنك استخدام الدالة lambda التالية.
(p1, p2) -> CASE WHEN p1 = p2 THEN 0
WHEN reverse(p1) < reverse(p2) THEN -1
ELSE 1 END
يتم تعريف دوال Lambda واستخدامها بشكل مؤقت. إذن تعريف الدالة هو الوسيطة :
> SELECT array_sort(array('Hello', 'World'),
(p1, p2) -> CASE WHEN p1 = p2 THEN 0
WHEN reverse(p1) < reverse(p2) THEN -1
ELSE 1 END);
[World, Hello]