array_sort
-Funktion
Gilt für: Databricks SQL Databricks Runtime
Gibt array
sortiert nach func
zurück.
Syntax
array_sort(array, func)
Argumente
array
: Ein Ausdruck ein, der in ein Array ausgewertet wird.func
: Eine Lambdafunktion, die die Sortierreihenfolge definiert.
Gibt zurück
Der Ergebnistyp stimmt mit dem Typ von array
überein.
Wenn func
weggelassen wird, wird das Array in aufsteigender Reihenfolge sortiert.
Wenn func
angegeben wird, werden zwei Argumente verwendet, die zwei Elemente des Arrays darstellen.
Die Funktion muss -1, 0 oder 1 zurückgeben, je nachdem, ob das erste Element kleiner als, gleich oder größer als das zweite Element ist.
Wenn func
andere Werte (einschließlich NULL) zurückgibt, schlägt array_sort
fehl, und es wird ein Fehler ausgelöst.
NULL-Elemente werden am Ende des zurückgegebenen Arrays angeordnet.
Beispiele
> 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]