array_sort
-functie
Van toepassing op: Databricks SQL Databricks Runtime
Retourneert array
gesorteerd op basis van func
.
Syntaxis
array_sort(array, func)
Argumenten
-
array
: Een expressie die resulteert in een matrix. -
func
: Een lambda-functie die de sorteervolgorde definieert.
Retouren
Het resultaattype komt overeen met het type array
.
Als func
u dit weglaat, wordt de matrix in oplopende volgorde gesorteerd.
Als func
er twee argumenten nodig zijn die twee elementen van de matrix vertegenwoordigen.
De functie moet -1, 0 of 1 retourneren, afhankelijk van of het eerste element kleiner is dan, gelijk is aan of groter is dan het tweede element.
Als de func
retourneert andere waarden (inclusief NULL), array_sort
mislukt en wordt er een fout gegenereerd.
NULL-elementen worden aan het einde van de geretourneerde matrix geplaatst.
Voorbeelden
> 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]