array_sort Funktion

Gäller för:check markerad ja Databricks SQL-kontroll markerad ja 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.

Returnerar

Resultattypen matchar typen .array

Om func utelämnas sorteras matrisen i stigande ordning.

Om func anges krävs 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]