مشاركة عبر


array_sort دالة

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

إرجاع array تم فرزها وفقا ل func.

بناء الجملة

array_sort(array, func)

الوسيطات

  • array: تعبير يتم تقييمه إلى صفيف.
  • func: دالة lambda تحدد ترتيب الفرز.

المرتجعات

يطابق نوع النتيجة نوع array.

إذا func تم حذفه، يتم فرز الصفيف بترتيب تصاعدي.

إذا func تم توفيره فإنه يأخذ وسيطتين تمثلان عنصرين من الصفيف.

يجب أن ترجع الدالة -1 أو 0 أو 1 اعتمادا على ما إذا كان العنصر الأول أقل من العنصر الثاني أو مساويا له أو أكبر منه.

إذا قام بإرجاع func قيم أخرى (بما في ذلك NULL)، array_sort يفشل ويرفع خطأ.

يتم وضع العناصر NULL في نهاية الصفيف الذي تم إرجاعه.

الأمثلة

> SELECT array_sort(array(5, 6, 1),
                   (left, right) -> CASE WHEN left < right THEN -1
                                         WHEN left > right THEN 1 ELSE 0 END);
 [1,5,6]
> SELECT array_sort(array('bc', 'ab', 'dc'),
                    (left, right) -> CASE WHEN left IS NULL and right IS NULL THEN 0
                                          WHEN left IS NULL THEN -1
                                          WHEN right IS NULL THEN 1
                                          WHEN left < right THEN 1
                                          WHEN left > right THEN -1 ELSE 0 END);
 [dc,bc,ab]
> SELECT array_sort(array('b', 'd', null, 'c', 'a'));
 [a,b,c,d,NULL]