RE: trying to pattern match to a value contained in a column
От | Francis Solomon |
---|---|
Тема | RE: trying to pattern match to a value contained in a column |
Дата | |
Msg-id | NEBBIFFPELJMCJAODNPKIEKHCDAA.francis@stellison.co.uk обсуждение исходный текст |
Ответ на | trying to pattern match to a value contained in a column (Beth Gatewood <bethg@mbt.washington.edu>) |
Список | 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 по дате отправления: