array_sort
関数
適用対象: Databricks SQL Databricks Runtime
func
に従って並べ替えられた array
を返します。
構文
array_sort(array, func)
引数
array
: 配列に評価される式。func
: 並べ替え順序を定義するラムダ関数。
戻り値
結果の型は、array
の型と一致します。
func
を省略した場合、配列は昇順に並べ替えられます。
func
が指定されている場合は、配列の 2 つの要素を表す 2 つの引数を取ります。
関数では、最初の要素が 2 番目の要素と比べて小さいか、等しいか、大きいかに応じて、-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]