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:

  • Specify TRUE to sort the elements in ascending order.
  • Specify FALSE to sort the elements in descending order.

El valor predeterminado es TRUE.

nulls_first

Un valor booleano que especifica la posición NULL:

  • Specify TRUE to place NULLs at the beginning of the sorted array.
  • Specify FALSE to place NULLs at the end of the sorted array.

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:

  • Boolean values
  • Numeric values
  • String values
  • Arrays
  • Objects/Dictionaries

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