Many thanks... got it now. Example...
sox=# select * from regexpatt; pattern | description ---------+------------------------------------ ^b | starts with a B ^a | starts with an A ^c.*l$ | starts with a C and ends with an L (3 rows) sox=# select description from regexpatt where 'bravo' ~ pattern; description ---------------- starts with a B (1 row) sox=# select description from regexpatt where 'caramel' ~ pattern; description ------------------------------------ starts with a C and ends with an L (1 row) "Josh Berkus" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] Moonstruck, > I want to create a table of regular expression patterns (for assessing > phone numbers), something like: > CREATE TABLE CallType ( pattern varchar primary key, > type varchar, > rate int4); > INSERT INTO CallType VALUES ('0[3-9]________','Interstate Call',50); > INSERT INTO CallType VALUES ('9_______','Local Call',25); > INSERT INTO CallType VALUES ('0011__________%','International Call',100); PostgreSQL supports real Regular Expressions, via the ~ operator. See "~" under "functions and operators", and then consult your favorite book or online ressouce on how to compose regexps. An example of "is not in 415 area code" would be phone_no ~ '^415\d{7}' which should be "415" at the beginning followed by at least 7 other digits. (Folks, please correct my regex code if it's bad!) The disadvantage to this approach is that it cannot be indexed. -- -Josh Berkus Aglio Database Solutions San Francisco ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend