次の方法で共有


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]