Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Función
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.
Azure Databricks genera COMPARATOR_RETURNS_NULL si el func devuelve NULL.
Los elementos NULL se colocan al final de la matriz devuelta.
Condiciones de error comunes
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]
-- Comparator must return -1, 0, or 1, not NULL
> SELECT array_sort(array(1, 2), (l, r) -> NULL);
Error: COMPARATOR_RETURNS_NULL