array_sortfunction (Databricks SQL)

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 func se omite, la matriz se ordena en orden ascendente.

Si func se proporciona , se toma dos argumentos que representan dos elementos de la matriz.

La función debe devolver -1, 0 o 1 dependiendo de si el primer elemento es menor, igual o mayor que el segundo elemento.

Si devuelve func otros valores (incluido NULL), array_sort se produce un error y se produce 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]