Funktionen array_sort
Gäller för: Databricks SQL Databricks Runtime
Returnerar array
sorterade enligt func
.
Syntax
array_sort(array, func)
Argument
array
: Ett uttryck som utvärderas till en matris.func
: En lambda-funktion som definierar sorteringsordningen.
Returer
Resultattypen matchar typen av array
.
Om func
utelämnas sorteras matrisen i stigande ordning.
Om func
anges tar det två argument som representerar två element i matrisen.
Funktionen måste returnera -1, 0 eller 1 beroende på om det första elementet är mindre än, lika med eller större än det andra elementet.
func
Om returnerar andra värden (inklusive NULL), array_sort
misslyckas och genererar ett fel.
NULL-element placeras i slutet av den returnerade matrisen.
Exempel
> 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]