Compartir vía


Función array_sort

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí 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]