Hello this behave depends on your language rules. So this behave can be ok.
pavel=# select * from (values('.'),('@'),('.xxx'),(' xxxx')) x order by 1; column1 ───────── . @ .xxx xxxx (4 rows) you can se so string with space on start is on end and this is correct, because spaces and white chars are ignored. Regards Pavel Stehule. 2011/3/21 Tambet Matiisen <tambet.matii...@gmail.com>: > Hi everyone! > > I recently noticed obscure behavior of ORDER BY. Consider this example: > > select email from > ( > select '@'::text as email > union all > select '.'::text as email > ) a > order by email; > > The result is: > email > ------- > . > @ > (2 rows) > > This is all normal - I expect, that dot is smaller than ampersand. But if I > add anything after dot, the order is reversed: > > select email from > ( > select '@'::text as email > union all > select '.m'::text as email > ) a > order by email > > The result is: > email > ------- > @ > .m > (2 rows) > > Why is this happening? As dot is smaller than ampersand, anything after dot > shouldn't matter. > > I'm using PostgreSQL 8.4.7 on 32-bit Debian. > > Thanks in advance, > Tambet > > -- > Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-sql > -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql