From: | Guy Fraser <guy(at)incentre(dot)net> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Regular Expressions |
Date: | 2007-03-21 20:32:26 |
Message-ID: | 1174509146.26600.39.camel@sigurd.incentre.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Wed, 2007-03-21 at 14:37 -0300, Ezequias R. da Rocha wrote:
> Guy Fraser escreveu:
> > On Wed, 2007-03-21 at 11:04 -0300, Ezequias R. da Rocha wrote:
> >
> >> Hi list,
> >>
> >> I would like to know if postgresql has a Regular Expressions (Regex)
> >> implemented already.
> >>
> >> With it we could implement queries like
> >>
> >> Select * from myClientes where name = 'E[zs]equias'
> >>
> >>
> > Case Sensitive Regular Match ~
> > Case Insensitive Regular Match ~*
> > Negated Case Sensitive Regular Match !~
> > Negated Case Insensitive Regular Match !~*
> >
> > Select * from myClientes where name ~ 'E[zs]equias'
> >
> >
> >> where the result occurs even if the field has Ezequias or Esequias.
> >>
> >> Regards
> >> Ezequias
> >>
> >> ---------------------------(end of broadcast)---------------------------
> >> TIP 2: Don't 'kill -9' the postmaster
> >>
> >>
> Great I am thinking of putting my like to rest. I felt it faster than
> "like" statement, have you any information about that ?
>
No I don't know if regular expressions are faster than "LIKE" but
I think they are more flexible. When developing queries, I usually
try different methods of matching to find out what works best for
each circumstance. Some times upper() lower() and substr() with an
"=" are more effective than other methods.
One of the more powerful features of PostgreSQL is the ability to
use sub-selects to reduce the time required to process a subset of
data from a larger volume of data.
Example :
select
*
from (
select
ss_time,
ss_date,
ss_type,
ss_data
from
full_set
where
ss_type in ('type_a','type_x')
) as sub_set
where
upper(ss_data) ~ '[A-Z][0-9][A-Z] ?[0-9][A-Z][0-9]'
order by
ss_time,
ss_date,
ss_type
;
> Ezequias
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
> http://www.postgresql.org/about/donate
>
From | Date | Subject | |
---|---|---|---|
Next Message | Karthikeyan Sundaram | 2007-03-21 21:49:43 | Monitor what command is executing at the backend |
Previous Message | Guido Neitzer | 2007-03-21 17:37:44 | Re: growth of the database |