Sdílet prostřednictvím


Funkce array_sort

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Vrátí array seřazené podle func.

Syntaxe

array_sort(array, func)

Argumenty

  • array: Výraz, který se vyhodnotí jako pole.
  • func: Funkce lambda definující pořadí řazení.

Návraty

Typ výsledku odpovídá typu .array

Pokud func je vynecháno, pole se seřadí ve vzestupném pořadí.

Pokud func je za předpokladu, že má dva argumenty představující dva prvky pole.

Funkce musí vrátit hodnotu -1, 0 nebo 1 v závislosti na tom, zda je první prvek menší než, roven nebo větší než druhý prvek.

func Pokud se vrátí další hodnoty (včetně hodnoty NULL), array_sort selže a vyvolá chybu.

Prvky NULL jsou umístěny na konci vráceného pole.

Příklady

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