|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
array sort for varchar arrays?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'}.
|
|
|
Re: array sort for varchar arrays?> 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'}. You've got it right. On Pg 8.3.3 I get SELECT sort(array['z','y','x']) -> {x,y,z} -- Sent via pgsql-general mailing list (pgsql-general@...) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general |
|
|
Re: array sort for varchar arrays?2008/7/8 Matthew Dennis <mdennis@...>:
> 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 -- Sent via pgsql-general mailing list (pgsql-general@...) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general |
|
|
Re: array sort for varchar arrays?>> 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'}. > > You've got it right. On Pg 8.3.3 I get > SELECT sort(array['z','y','x']) -> {x,y,z} > Crap. There's a sort function included for int[]. I tried it on a varchar[] and it worked, but that was because I had made a function that was pretty much what pavel posted. -- Sent via pgsql-general mailing list (pgsql-general@...) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general |
|
|
Re: array sort for varchar arrays?On Wed, Jul 9, 2008 at 12:28 AM, Pavel Stehule <pavel.stehule@...> wrote:
2008/7/8 Matthew Dennis <mdennis@...>: 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? |
|
|
Re: array sort for varchar arrays?2008/7/9 Matthew Dennis <mdennis@...>:
> On Wed, Jul 9, 2008 at 12:28 AM, Pavel Stehule <pavel.stehule@...> > wrote: >> >> 2008/7/8 Matthew Dennis <mdennis@...>: >> > 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? > Hello, I don't know about it. You should rewrite code from intarray contrib module and modify it for varchars. With varchars it could be little bit more work - maybe one day. Regards Pavel Stehule -- Sent via pgsql-general mailing list (pgsql-general@...) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general |
| Free Forum Powered by Nabble | Forum Help |