Harald Fuchs <hari.fu...@gmail.com> wrote:

>> hi, i am fairly new in postgresql, so if anyone can help me would be great
>> if i simply do:

>> select ver_no
>> from version
>> order by ver_no

>> the result will be something like this:

>> .1.3.1
>> .1.3.2.5.
>> .1.4.1.7.12
>> .1.4.11.14.7.
>> .1.4.3.109.1.
>> .1.4.8.66.

>> so as you can see first 3 lines are ok, but how to make 1.4.3.109 come
>> before 1.4.11 because the third level "3" is smaller than "11".

> The query

>   SELECT ver_no
>   FROM version
>   ORDER BY string_to_array(ver_no, '.', '')::int[]

> should do what you want.

Really neat! :-) For pre-9.1, you have to "ORDER BY
string_to_array(TRIM('.' FROM ver_no), '.')::int[];",
though.

Tim


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to