Re: ORDER BY problem

From: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
To: Thomas Beutin <tyrone(at)laokoon(dot)IN-Berlin(dot)DE>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: ORDER BY problem
Date: 2004-03-01 15:28:37
Message-ID: 20040301072400.R71391@megazone.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, 1 Mar 2004, Thomas Beutin wrote:

> when i do the following query i get an wrong result order on my postgres
> system (PostgreSQL 7.2.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2.2)
>
> tb_test=# SELECT name, upper(name) FROM tb_wurst ORDER BY upper(name);
> name | upper
> ----------------------------------+----------------------------------
> Americabound Tours, Inc. | AMERICABOUND TOURS, INC.
> American Airlines | AMERICAN AIRLINES
> American Express Tour Operador | AMERICAN EXPRESS TOUR OPERADOR
> American Receptive Tours | AMERICAN RECEPTIVE TOURS
> American Ring Travel, Inc. | AMERICAN RING TRAVEL, INC.
> American Sightseeing Chicago | AMERICAN SIGHTSEEING CHICAGO
> AMERICANTOURS INTERNATIONAL INC. | AMERICANTOURS INTERNATIONAL INC.
> America West Airlines, Inc. | AMERICA WEST AIRLINES, INC.
> (8 rows)
>
> The last line should IMHO be the first; but line 7 is in the correct place
> compared to lines 2-6.
> Has anybody any hint for me to resolve the problem?

You're probably using a locale such as en_US under which you get an
ordering where spaces nor case are not considered at first IIRC so America
West is America followed by a W, American is America followed by an n.

If you want ordering by the byte values, you'll need to initdb in with the
"C" locale.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron St-Pierre 2004-03-01 15:53:40 Re: How to drop sequence?
Previous Message Thomas Beutin 2004-03-01 15:01:35 ORDER BY problem