Ordena os elementos de um array.
Sintaxe
array<T> sort_array(array<T> <a>[, <isasc>])
Parâmetros
a: obrigatório. Especifica um array.
Temarray<T>indica o tipo de dados dos elementos do array. Os elementos podem ser de qualquer tipo de dados.isasc: opcional. Define a ordem de classificação dos elementos no array. Valores válidos: true e false. O valor true indica ordem crescente, e o valor false indica ordem decrescente. Caso você não especifique este parâmetro, os elementos serão ordenados em ordem crescente.
Valor de retorno
Retorna um valor do tipo ARRAY. O valor null é interpretado como o valor mínimo.
Exemplos
-
Exemplo 1: Ordene os dados na tabela
t_array, que contém as colunasc1 ARRAY<STRING>, c2 ARRAY<INT>, and c3 ARRAY<STRING>. Dados da tabela:+------------+---------+--------------+ | c1 | c2 | c3 | +------------+---------+--------------+ | [a, c, f, b] | [4, 5, 7, 2, 5, 8] | [You, Me, Him] | +------------+---------+--------------+Ordene os dados em cada coluna da tabela. Instrução de exemplo:
-- The return value is [a, b, c, f] [2, 4, 5, 5, 7, 8] [Him, Me, You]. select sort_array(c1),sort_array(c2),sort_array(c3) from t_array; -
Exemplo 2: Ordene os elementos de
array(10, 20, 40, 30, 30, null, 50)em ordem decrescente. Instrução de exemplo:-- The return value is [50, 40, 30, 30, 20, 10, null]. select sort_array(array(10, 20, 40, 30, 30, null, 50), false);
Funções relacionadas
SORT_ARRAY é uma função de tipo complexo. Para obter mais informações sobre as funções usadas para processar dados de tipos complexos, como ARRAY, MAP, STRUCT e JSON, consulte Complex type functions.