Vinicius escreveu:
>
> Pessoal, precisei ordenar um array e vi que na versão 8.2 não existe nada
> parecido com "Array_Sort()", parece que na versão 8.3 já tem isso pronto.
>
> A Solução que eu encontrei foi criar uma função "na unha" mesmo, para ordenar
> o meu array(oq não é muito simples ! ), mas não sei se esta seria a melhor
> solução...Alguém já precisou disso ? qual seria a melhor solução na 8.2 ?
>
Você não mencionou qual o tipo de dado de seu array. Se for um
array de inteiros veja a função sort em contrib/intarray.
Ou, no caso geral, esta função SQL:
CREATE OR REPLACE FUNCTION array_sort (ANYARRAY)
RETURNS ANYARRAY
LANGUAGE SQL
AS $$
SELECT ARRAY(
SELECT $1[s.i] AS "foo"
FROM generate_series(array_lower($1,1), array_upper($1,1))
AS s(i)
ORDER BY foo);
$$;
bdteste=# SELECT array_sort(ARRAY['c','b','a']);
array_sort
------------
{a,b,c}
(1 registro)
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral