共用方式為


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]