Re: search/select case-insensitivly.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Tue, 2002-10-22 at 17:01, Zhidian Du wrote:
> I want a PHP program to search case-insensitivly.
> 
> for example:
> select Name from mytable where Name = '$Name';
> 
> 
> Here $Name is what users' input maybe JOHN, john.  How to let it match John 
> in table and find that record?

Although you can simply do as another poster said and use the ILIKE
operator, there are a few things you may want to consider.

You can also do something like:

"SELECT name FROM mytable WHERE lower(name) = '" . strtolower($Name) .
"'; "

This means that PostgreSQL will use an index, if there is an index on
lower(name):

CREATE INDEX lcname ON mytable( lower(name) );

This will give you the most efficient access if you have many records in
'mytable', whereas ILIKE will require a full-table scan.

Regards,
					Andrew.
-- 
---------------------------------------------------------------------
Andrew @ Catalyst .Net.NZ Ltd, PO Box 11-053, Manners St,  Wellington
WEB: http://catalyst.net.nz/         PHYS: Level 2, 150-154 Willis St
DDI: +64(4)916-7201     MOB: +64(21)635-694    OFFICE: +64(4)499-2267
           Survey for free with http://survey.net.nz/ 
---------------------------------------------------------------------



[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux