Función ARRAY_SORT - Amazon Redshift

Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la publicación del blog.

Función ARRAY_SORT

Crea una versión ordenada de la matriz de entrada en orden ascendente o descendente. Puede especificar dónde deben aparecer los valores NULL en el resultado. La función es NULL-safe, lo que significa que trata los valores NULL como objetos conocidos.

Sintaxis

ARRAY_SORT( array [, sort_ascending [, nulls_first]] )

Argumentos

array

Una expresión SUPER que especifica la matriz que se va a ordenar.

sort_ascending

Un valor booleano que especifica si se debe ordenar la matriz en orden ascendente o descendente:

  • Especifique TRUE para ordenar los elementos en orden ascendente.

  • Especifique FALSE para ordenar los elementos en orden descendente.

El valor predeterminado es TRUE.

nulls_first

Un valor booleano que especifica la posición NULL:

  • Especifique TRUE para colocar valores NULL al principio de la matriz ordenada.

  • Especifique FALSE para colocar valores NULL al final de la matriz ordenada.

Tipo de retorno

La función ARRAY_SORT devuelve un tipo SUPER.

Nota

Al ordenar matrices que contienen tipos de datos mixtos, los elementos se ordenan según la siguiente precedencia de tipos:

  • Valores booleanos

  • Valores numéricos

  • Valores de cadena

  • Matrices

  • Objetos/diccionarios

Dentro de cada categoría de tipo, los elementos se ordenan según su orden natural (por ejemplo, los números se ordenan numéricamente y las cadenas alfabéticamente).

Ejemplo

Los ejemplos siguientes muestran la función ARRAY_SORT.

-- Ascending order (default) SELECT ARRAY_SORT(ARRAY('b', 'a', 0, NULL, 1, false)); array_sort -------------------------- [false,0,1,"a","b",null] (1 row) -- Descending order SELECT ARRAY_SORT(ARRAY('b', 'a', 0, NULL, 1, false), False); array_sort -------------------------- [null,"b","a",1,0,false] (1 row) -- Descending order with NULLs at the end of the sorted array SELECT ARRAY_SORT(ARRAY('b', 'a', 0, NULL, 1, false), False, False); array_sort -------------------------- ["b","a",1,0,false,null] (1 row)

Véase también