array_sortfunction (Databricks SQL)

Gibt array sortiert nach func zurück.

Syntax

array_sort(array, func)

Argumente

  • array: Ein Ausdruck, der zu einem Array ausgewertet wird.
  • func: Eine Lambdafunktion, die die Sortierreihenfolge definiert.

Gibt zurück

Der Ergebnistyp entspricht dem Typ array von .

Wenn func weggelassen wird, wird das Array in aufsteigender Reihenfolge sortiert.

Wenn func bereitgestellt 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 andere func Werte (einschließlich NULL) zurückgibt, array_sort schlägt fehl und löst einen Fehler aus.

NULL-Elemente werden am Ende des zurückgegebenen Arrays platziert.

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]