Re: Regular expression and Group By - Mailing list pgsql-general

From Jeff Davis
Subject Re: Regular expression and Group By
Date
Msg-id 1166467241.4422.10.camel@dogma.v10.wvs
Whole thread Raw
In response to Regular expression and Group By  (Clodoaldo <clodoaldo.pinto.neto@gmail.com>)
Responses Re: Regular expression and Group By
List pgsql-general
On Fri, 2006-12-15 at 17:21 -0200, Clodoaldo wrote:
> -- drop table test_table;
> create table test_table (tname varchar, value integer);
> insert into test_table values ('[ab]x', 1);
> insert into test_table values ('[ab]y', 2);
> insert into test_table values ('[Ab]z', 3);
> insert into test_table values ('w[aB]', 8);
> insert into test_table values ('[abx', 4);
> insert into test_table values ('ab]x', 5);
> insert into test_table values ('xyz', 6);
> insert into test_table values ('Xyz', 7);
>
...
>  total | tname | value_total
> -------+-------+-------------
>      4 | [AB]  |          14
>      1 | [abx  |           4
>      1 | ab]x  |           5
>      1 | xyz   |           6
>      1 | Xyz   |           7
> (5 rows)
>

It looks like what you need is a function that returns the upper() of
the substring enclosed by "[]" if that substring exists, or else the
original string.

In other words, make a user-defined function that turns the string into
"tname" and GROUP BY the result of that function.

Hope this helps,
    Jeff Davis




pgsql-general by date:

Previous
From: Bob Pawley
Date:
Subject: Creating an Independant Application
Next
From: Jeff Davis
Date:
Subject: Re: strange slow performance