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/
---------------------------------------------------------------------