array_sort Funzione

Si applica a:check contrassegnato sì controllo SQL databricks contrassegnato come sì Databricks Runtime

Restituisce array ordinati in base a func.

Sintassi

array_sort(array, func)

Argomenti

  • array: espressione che restituisce una matrice.
  • func: una funzione lambda che definisce l'ordine di ordinamento.

Restituisce

Il tipo di risultato corrisponde al tipo di array.

Se func viene omesso, la matrice viene ordinata in ordine crescente.

Se func viene fornito accetta due argomenti che rappresentano due elementi della matrice.

La funzione deve restituire -1, 0 o 1 a seconda che il primo elemento sia minore di, uguale o maggiore del secondo elemento.

Se restituisce func altri valori (incluso NULL), array_sort ha esito negativo e genera un errore.

Gli elementi NULL vengono posizionati alla fine della matrice restituita.

Esempi

> 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]