Received: from maia.hub.org (maia-2.hub.org [200.46.204.251]) by mail.postgresql.org (Postfix) with ESMTP id A44A8632706 for ; Wed, 23 Jun 2010 10:45:43 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.251]) (amavisd-maia, port 10024) with ESMTP id 84506-01 for ; Wed, 23 Jun 2010 13:45:34 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from smtpcorp.com (smtpcorp.com [67.192.120.76]) by mail.postgresql.org (Postfix) with ESMTP id 43FF3631ADA for ; Wed, 23 Jun 2010 10:45:35 -0300 (ADT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpcorp.com; s=main; h=Content-Transfer-Encoding:Content-Type:Mime-Version:References:Message-ID:Date:Subject:From:To; bh=rr+PauTgbY5l5GnQD8nv3V1m1yxSRO2dwNq4oguJ4sk=; b=hh53ZZkmIeT02v6zZxe4u91NyFC/vErUeBiU1rRRxqXa/xYkOZuLFMZb+sA4s0NlHHMbd5CLaHGLY5EWvUjgzfbz4r/4ca6JhFGVSMclcahnH5NBV/aYeQrH2uhx0nbr; Received: from ip-118-90-130-176.xdsl.xnet.co.nz ([118.90.130.176] helo=gonzo) by smtpcorp.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.70) id 1ORQGi-0002dR-Rp; mid 144 for pgsql-sql@postgresql.org; Wed, 23 Jun 2010 13:45:09 +0000 Received: from news by gonzo with local (Exim 4.69) (envelope-from ) id 1ORQGY-0006hJ-Nk for pgsql-sql@postgresql.org; Thu, 24 Jun 2010 01:45:22 +1200 To: pgsql-sql@postgresql.org Path: not-for-mail From: Jasen Betts Newsgroups: gmane.comp.db.postgresql.sql Subject: Re: ORDER BY is case insensitive Date: 23 Jun 2010 13:45:22 GMT Organization: Dis (not Dat) Organisation Lines: 49 Message-ID: References: NNTP-Posting-Host: localhost Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: reversiblemaps.ath.cx 1277300722 25747 127.0.0.1 (23 Jun 2010 13:45:22 GMT) X-Face: ?)Aw4rXwN5u0~$nqKj`xPz>xHCwgi^q+^?Ri*+R(&uv2=E1Q0Zk(>h!~o2ID@6{uf8s; a +M[5[U[QT7xFN%^gR"=tuJw%TXXR'Fp~W; (T"1(739R%m0Yyyv*gkGoPA.$b,D.w:z+<'"=-lVT?6 {T?=R^:W5g|E2#EhjKCa+nt":4b}dU7GYB*HBxn&Td$@f%.kl^:7X8rQWd[NTc"P"u6nkisze/Q; 8 "9Z{peQF,w)7UjV$c|RO/mQW/NMgWfr5*$-Z%u46"/00mx-,\R'fLPe.)^ User-Agent: slrn/pre1.0.0-2 (Linux) X-Smtpcorp-Track: 5056472.1.28992547 X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.8 tagged_above=-5 required=5 tests=BAYES_50=0.8 X-Spam-Level: X-Archive-Number: 201006/74 X-Sequence-Number: 34265 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 >