I ran the same tests in SQL Server 2008R2, Oracle10 and PostgreSQL 9.0.4 and found something interesting... set up ===== drop table t1 create table t1 (f1 varchar(100)) insert into t1 (f1) values ('AbC') insert into t1 (f1) values ('CdE') insert into t1 (f1) values ('abc') insert into t1 (f1) values ('ABc') insert into t1 (f1) values ('cde') test === select * from t1 order by f1 select min(f1) as min, max(f1) as max from t1 results ===== SQL Server 2008 R2 (with case insensitive data, the ordering follows ASCII order) f1 --- AbC abc ABc cde CdE min max ------ ------- AbC CdE Oracle 10 (data is case-sensitive, the ordering follows ASCII order) f1 --- ABc AbC CdE abc cde min max ------ ------- ABc cde PostgreSQL 9.0.4 (data is case-sensitive, the ordering is ... DIFFERENT) f1 --- abc AbC ABc cde CdE min max ------ ------- abc CdE -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general