Re: [SQL] ORDER BY is case insensitive
On 2010-06-22, 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? 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 > -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql
Re: [SQL] ORDER BY is case insensitive
On 06/23/10 17:45, Jasen Betts wrote: On 2010-06-22, 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? use bytea instead of a text type. try this: select * from t order by replace(f,e'\\', e'')::bytea you may want to index on replace(f,e'\\', e'')::bytea certainly wrong way. keyword is "multibyte chars". as he asked about case sensitivity, i presume he still want to preserve alphabet order -- u propose to cancel alphabet order at all. -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql