7

How could I search for a specific pattern in a column?

For example, I like to get all user names that start with either letter A or B.

(btw: this is tagged oracle, but it might be interesting in other RDBMS as well).

1
  • Perhaps the question should be re-titled since the solution does not require a regular expression. I added regular-expression as a tag. Commented Jan 4, 2011 at 14:24

1 Answer 1

15

Your question doesn't require regular expressions:

WHERE name LIKE 'A%' OR name LIKE 'B%' 

For Oracle, there's REGEXP_LIKE; Postresql, there's SIMILAR TO; mysql has REGEXP. One thing to remember though is not all regular expression engines are the same, so just because they support regular expressions doesn't mean they necessarily support word boundry assertions, non-greedy quantifiers, or negative lookbehind assertions, etc.

2
  • Thanks. In my case, that will do. I also found this to work: SELECT mname FROM names WHERE regexp_like(mname,'^[AB].*$'); Commented Jan 4, 2011 at 4:03
  • 3
    All you really need is ^[AB] ... the .*$ is superfluous Commented Jan 4, 2011 at 4:13

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.