Función array_sort
Se aplica a: Databricks SQL Databricks Runtime
Devuelve array
ordenado según func
.
Sintaxis
array_sort(array, func)
Argumentos
array
: expresión que se evalúa como una matriz.func
: función lambda que define el criterio de ordenación.
Devoluciones
El tipo de resultado coincide con el tipo de array
.
Si se omite func
, la matriz se ordena en orden ascendente.
Si func
se proporciona, toma dos argumentos que representan dos elementos de la matriz.
La función debe devolver -1, 0 o 1, en función de si el primer elemento es menor, igual o mayor que el segundo elemento.
Si func
devuelve otros valores (incluido NULL), array_sort
produce un error y devuelve un error.
Los elementos NULL se colocan al final de la matriz devuelta.
Ejemplos
> 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]