RE: trying to pattern match to a value contained in a column - Mailing list pgsql-sql

From Francis Solomon
Subject RE: trying to pattern match to a value contained in a column
Date
Msg-id NEBBIFFPELJMCJAODNPKIEKHCDAA.francis@stellison.co.uk
Whole thread Raw
In response to trying to pattern match to a value contained in a column  (Beth Gatewood <bethg@mbt.washington.edu>)
List pgsql-sql
Hi Beth,

Try something like this ...

Here's a simple table schema:

CREATE TABLE abbrev ( abbr varchar(10), long_name varchar(50), primary key(abbr)
);

Throw in some random data:

INSERT INTO abbrev VALUES ('fs', 'fsolomon');
INSERT INTO abbrev VALUES ('bg', 'bgatewood');
INSERT INTO abbrev VALUES ('junk', 'nomatch');

Query the table:

SELECT * FROM abbrev WHERE long_name~abbr;

... which yields these results:
abbr |  long_name
------+-----------fs   | fsolomonbg   | bgatewood

Note that ~ does a case-sensitive regex match. If you really want a
'like' match, you could do this instead:

SELECT * FROM abbrev where long_name~~('%' || abbr || '%');

... where '||' is the string-concatenation operator.

Hope this helps

Francis Solomon

> -----Original Message-----
> From: pgsql-sql-owner@postgresql.org
> [mailto:pgsql-sql-owner@postgresql.org]On Behalf Of Beth Gatewood
> Sent: 07 December 2000 21:06
> To: pgsql-sql@postgresql.org
> Subject: [SQL] trying to pattern match to a value contained
> in a column
>
>
> Hi-
>
> I can't figure out how to do this....
>
> I examine a table where I think that one attribute is an
> abbreviation of
> another attribute.
>
> So-If I had a table where I had LONG_NAME and ABBR as attributes.
>
> I want something like
>
> SELECT whatever FROM my_table WHERE long_name LIKE '%[the
> value of ABBR
> in that row]%';
>
>
> Of course this doesn't work...
>
> Any thoughts?
>
> Thanks-
> Beth
>
>
>



pgsql-sql by date:

Previous
From: Beth Gatewood
Date:
Subject: trying to pattern match to a value contained in a column
Next
From: Peter Eisentraut
Date:
Subject: Re: trying to pattern match to a value contained in a column