Funzione array_sort
Si applica a: Databricks SQL Databricks Runtime
Restituisce array
l'ordinamento in base a func
.
Sintassi
array_sort(array, func)
Argomenti
array
: espressione che restituisce una matrice.func
: funzione lambda che definisce l'ordinamento.
Valori restituiti
Il tipo di risultato corrisponde al tipo di array
.
Se func
viene omesso, la matrice viene ordinata in ordine crescente.
Se func
viene specificato, 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, 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]