Udostępnij za pośrednictwem


Funkcja array_sort

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Zwraca array posortowane według func.

Składnia

array_sort(array, func)

Argumenty

  • array: wyrażenie, które oblicza tablicę.
  • func: Funkcja lambda definiująca kolejność sortowania.

Zwraca

Typ wyniku jest zgodny z typem .array

Jeśli func zostanie pominięta, tablica jest sortowana w kolejności rosnącej.

Jeśli func zostanie podany, przyjmuje dwa argumenty reprezentujące dwa elementy tablicy.

Funkcja musi zwrócić wartość -1, 0 lub 1 w zależności od tego, czy pierwszy element jest mniejszy niż, równy lub większy niż drugi element.

func Jeśli zwracane są inne wartości (w tym NULL), array_sort kończy się niepowodzeniem i zgłasza błąd.

Elementy NULL są umieszczane na końcu zwracanej tablicy.

Przykłady

> 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]