>...
>	if (upper('001234') == lower('001234'))
>		SELECT * FROM table
>		WHERE id = '001234';
>	else
>		SELECT * FROM table
>		WHERE upper(id) = '001234';
>
>Even without the index I guess that would have saved it a lot of work.

I'm no expert, but I can't image this will be easy, because the optimizer
does not know any relation between lower() and upper().
I think an index on upper(id) (create index idxname on table(upper(id)))
should work well.



---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org





Thu, 27 Jun 2002 13:10:57 +0200
"Mario Weilguni" <mario.weilguni@icomedias.com>
Re: Case sensitive searches