From: | Thomas Beutin <tyrone(at)laokoon(dot)IN-Berlin(dot)DE> |
---|---|
To: | Dragan Matic <mlists(at)panforma(dot)co(dot)yu>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: problem with sorting using 'ORDER BY' when character field is filled with numerical values |
Date: | 2004-05-20 22:14:47 |
Message-ID: | 20040521001447.A1289@laokoon.bug.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, May 20, 2004 at 05:18:39PM +0200, Dragan Matic wrote:
> If I have a table t with column c which is defined as char(5) and fill
> it with following values:
[...]
> and then do the following: SELECT C FROM T ORDER BY C
> Postgres gives me the following
>
> 1
> 11
> 12
> 14
> 2
[...]
> the same thing done with MS SQL server gives this as a result:
[...]
> which is the result I find more logical, meaning the user would expect
> data sorted this way. Is there some way to make Postgres sort elements
no, the first is the logical if You sort a char(5) field.
> in this way (setting sort order or collation, I suppose)? Tnx in advance
You should try an "ORDER BY to_number(<your_column>, '99999')"
Greetings,
-tb
--
Thomas Beutin tb(at)laokoon(dot)IN-Berlin(dot)DE
Beam me up, Scotty. There is no intelligent live down in Redmond.
From | Date | Subject | |
---|---|---|---|
Next Message | NTPT | 2004-05-20 22:31:52 | Unix timestamp , unix timestamp with microseconds ? |
Previous Message | In. Martin Prášek | 2004-05-20 22:11:18 | Unix timestamp , unix timestamp with microseconds |