From: Jasen Betts <jasen@xnet.co.nz>
To: pgsql-sql@postgresql.org
Subject: Re: ORDER BY is case insensitive
Date: 23 Jun 2010 13:45:22 GMT
Message-ID: <hvt35i$p4j$1@reversiblemaps.ath.cx> (raw)
References: <AANLkTimupyTgU-h-LKkV9VprzFopMMBKqsoO2RVpAzgL@mail.gmail.com>
On 2010-06-22, Bryan White <nicktook@gmail.com> wrote:
> I was suprised to find out that ORDER BY is case insensitive. Is
> there a way to do a case sensitive ORDER BY clause?
use bytea instead of a text type.
> This transcript demonstrates what I am seeing:
>
> bryan=# select * from t order by f;
> f
> ---
> a
> b
> B
> c
> (4 rows)
try this:
select * from t order by replace(f,e'\\', e'\\\\')::bytea
you may want to index on replace(f,e'\\', e'\\\\')::bytea
>
> bryan=# \q
> ~ $ psql -l
> List of databases
> Name | Owner | Encoding | Collation | Ctype |
> Access privileges
> -----------------+----------+----------+-------------+-------------+-----------------------
> bryan | bryan | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
> postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
> template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
> :
> postgres=CTc/postgres
> template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
> :
> postgres=CTc/postgres
> (4 rows)
>
>
>
> --
> Bryan White
>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: jasen@xnet.co.nz
Subject: Re: ORDER BY is case insensitive
In-Reply-To: <hvt35i$p4j$1@reversiblemaps.ath.cx>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox