At 22:24 23.05.2003, Ben Schneider said: --------------------[snip]-------------------- >I am working on a project where I am creating a PHP front end to a >Postgres database. The schema is new but the data is old. Meaning I had to >convert the data from the old Informix DB. > >Anyway all of the existing data is in all upper case. However new data >going in will be in both upper and lower case.(As requested by the customer.) > >So the question is, how do I perform a case insensitive search? Is there a >DB setting I can set to ignore the case? > >If not, then an example of some PHP code that can do this would be of a >great help. --------------------[snip]-------------------- There are a couple of ways to do that, it depends on your likes/dislikes as well as on performance in your specific case. You could simply use lower() or upper() in your query constraints: .... WHERE lower(column_name) = lower('search_value') Use the ILIKE operator (case insensitive LIKE): .... WHERE column_name ILIKE '%search_value%' However I did some timings and noticed that ILIKE is appox. 10 times slower than LIKE. Maybe a problem on my side, but... LIKE constructs usually tend to NOT use indexes. To have an index at hand for a lower() search, create an index using lower() values: CREATE INDEX id_lower_content ON mytable(lower(column_name)) -- >O Ernest E. Vogelsinger (\) ICQ #13394035 ^ http://www.vogelsinger.at/