| From: | Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> | 
|---|---|
| To: | Bryan White <nicktook(at)gmail(dot)com> | 
| Cc: | pgsql-sql(at)postgresql(dot)org | 
| Subject: | Re: ORDER BY is case insensitive | 
| Date: | 2010-06-22 21:32:08 | 
| Message-ID: | 4C212BD8.5040102@fmed.uba.ar | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-sql | 
Bryan White 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?
> 
> This transcript demonstrates what I am seeing:
> 
> $ createdb bryan
> $ psql bryan
> psql (8.4.4)
> Type "help" for help.
> 
> bryan=# create table t (f text);
> CREATE TABLE
> bryan=# insert into t (f) values ('a');
> INSERT 0 1
> bryan=# insert into t (f) values ('b');
> INSERT 0 1
> bryan=# insert into t (f) values ('c');
> INSERT 0 1
> bryan=# insert into t (f) values ('B');
> INSERT 0 1
> bryan=# select * from t order by f;
>  f
> ---
>  a
>  b
>  B
>  c
> (4 rows)
Well. Im not really surprised. The column is text, so it sound
reasonable to order by its *text* representation. You may want to order
from its *ascii* value instead:
regression=# SELECT * from test order by ascii(data);
 data
------
 B
 a
 b
 c
(4 rows)
Or similar...Wich order are you expecting to see?
HTH
Gerardo
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2010-06-22 21:40:01 | Re: ORDER BY is case insensitive | 
| Previous Message | Bryan White | 2010-06-22 20:52:23 | ORDER BY is case insensitive |