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]