Funkce array_sort
Platí pro: Databricks SQL 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]