Re: Postgres case insensitive searches

From: bhanu udaya <udayabhanu1984(at)hotmail(dot)com>
To: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>, "pgadmin-support(at)postgresql(dot)org" <pgadmin-support(at)postgresql(dot)org>
Subject: Re: Postgres case insensitive searches
Date: 2013-06-29 01:59:47
Message-ID: COL127-W22DF5082EFD67AE2140048D3770@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support pgsql-general

Thanks. But, I do not want to convert into upper and show the result.
Example, if I have records as below:
id type
1. abcd
2. Abcdef
3. ABcdefg
4. aaadf

The below query should report all the above

select * from table where type like 'ab%'. It should get all above 3 records. Is there a way the database itself can be made case-insensitive with UTF8 characterset. I tried with character type & collation POSIX, but it did not really help.

Thanks and Regards
Radha Krishna

> From: laurenz(dot)albe(at)wien(dot)gv(dot)at
> To: udayabhanu1984(at)hotmail(dot)com; pgsql-general(at)postgresql(dot)org
> Subject: RE: Postgres case insensitive searches
> Date: Fri, 28 Jun 2013 12:32:00 +0000
>
> bhanu udaya wrote:
> > What is the best way of doing case insensitive searches in postgres using Like.
>
> Table "laurenz.t"
> Column | Type | Modifiers
> --------+---------+-----------
> id | integer | not null
> val | text | not null
> Indexes:
> "t_pkey" PRIMARY KEY, btree (id)
>
>
> CREATE INDEX t_val_ci_ind ON t ((upper(val) text_pattern_ops);
>
> ANALYZE t;
>
> EXPLAIN SELECT id FROM t WHERE upper(val) LIKE 'AB%';
>
> QUERY PLAN
> ------------------------------------------------------------------------------
> Index Scan using t_val_ci_ind on t (cost=0.01..8.28 rows=1 width=4)
> Index Cond: ((upper(val) ~>=~ 'AB'::text) AND (upper(val) ~<~ 'AC'::text))
> Filter: (upper(val) ~~ 'AB%'::text)
> (3 rows)
>
> Yours,
> Laurenz Albe

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message John R Pierce 2013-06-29 02:22:50 Re: Postgres case insensitive searches
Previous Message Eike Dierks 2013-06-28 22:17:35 Feature: Object Browser Open Quickly

Browse pgsql-general by date

  From Date Subject
Next Message John R Pierce 2013-06-29 02:22:50 Re: Postgres case insensitive searches
Previous Message Tom Lane 2013-06-29 01:58:36 Re: [GENERAL] pg_upgrade -u