Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce
Platí pro:
Databricks SQL
Databricks Runtime
Vrátí array seřazené podle func.
Syntaxe
array_sort(array, func)
Argumenty
-
array: Výraz, který je vyhodnocen 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 je func poskytnut, přijímá dva argumenty představující 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.
Azure Databricks vyvolá COMPARATOR_RETURNS_NULL pokud func vrátí hodnotu NULL.
Prvky NULL jsou umístěny na konci vráceného pole.
Běžné chybové podmínky
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]
-- Comparator must return -1, 0, or 1, not NULL
> SELECT array_sort(array(1, 2), (l, r) -> NULL);
Error: COMPARATOR_RETURNS_NULL