On Wed, Jul 9, 2008 at 12:28 AM, Pavel Stehule <[EMAIL PROTECTED]>
wrote:

> 2008/7/8 Matthew Dennis <[EMAIL PROTECTED]>:
> > I'm likely overlooking something, but I can't seem to find a function to
> > sort a varchar array.  Something like "select sort('{y,z,x}'::varchar[])"
> =>
> > {'x','y','z'}.
> >
>
> create function sort(anyarray)
> returns anyarray as $$
> select array(select $1[i] from generate_series(array_lower($1,1),
> array_upper($1,1)) g(i) order by 1)
> $$ language sql strict immutable;
>
> postgres=# select sort(array[1,2,3,1]);
>   sort
> -----------
>  {1,1,2,3}
> (1 row)
>
> postgres=# select sort(array['a','b','c','a']);
>   sort
> -----------
>  {a,a,b,c}
> (1 row)
>
> Regards
> Pavel Stehule
>

Thanks Pavel, I ended up writing a method pretty much like that.  It seems
like that would be inefficient though (works ok for my use though).  Does
anyone know if there are future plans to add an array_sort method?

Reply via email to