Ordena os elementos de um array.
Formato do comando
array<T> sort_array(array<T> <a>[, <isasc>])
Descrição dos parâmetros
a: Obrigatório. Array. Em
array<T>, oTindica o tipo de dados dos elementos, que podem ser de qualquer tipo.isasc: Opcional. Define a regra de ordenação. Aceita True (ordem crescente) ou False (ordem decrescente). O padrão é ordem crescente.
Valor de retorno
Retorna um valor do tipo ARRAY. Valores NULL são considerados o menor valor possível.
Exemplos de uso
-
Exemplo 1: Suponha que a tabela
t_arraytenha as colunasc1 array<string>,c2 array<int> ,c3 array<string>e os seguintes dados:+------------+---------+--------------+ | c1 | c2 | c3 | +------------+---------+--------------+ | [a, c, f, b] | [4, 5, 7, 2, 5, 8] | [你, 我, 他] | +------------+---------+--------------+Ordene os dados de cada coluna da tabela. Exemplo de comando:
--返回[a, b, c, f] [2, 4, 5, 5, 7, 8] [他, 你, 我]。 select sort_array(c1),sort_array(c2),sort_array(c3) from t_array; -
Exemplo 2: Ordene o array
array(10, 20, 40, 30, 30, null, 50)em ordem decrescente. Exemplo de comando:--返回[50, 40, 30, 30, 20, 10, NULL]。 select sort_array(array(10, 20, 40, 30, 30, null, 50), false);
Funções relacionadas
A função SORT_ARRAY pertence às funções de tipos complexos. Para obter mais informações sobre funções de processamento de dados de tipos complexos (como ARRAY, MAP, STRUCT e JSON), consulte Funções de tipos complexos.