From: | Andrew McMillan <andrew(at)catalyst(dot)net(dot)nz> |
---|---|
To: | Zhidian Du <duzhidian(at)hotmail(dot)com> |
Cc: | pgsql-php(at)postgresql(dot)org |
Subject: | Re: search/select case-insensitivly. |
Date: | 2002-10-22 08:12:58 |
Message-ID: | 1035274378.6376.105.camel@kant.mcmillan.net.nz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-php |
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/
---------------------------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Hervé Piedvache | 2002-10-22 09:10:47 | Re: search/select case-insensitivly. |
Previous Message | Roj Niyogi | 2002-10-22 04:28:27 | Re: search/select case-insensitivly. |